aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2015-05-22 14:03:02 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-05-22 20:00:29 +0000
commit0f85e10e7df57b82237f83a6341f9dcede8fc5eb (patch)
treeb3a7524d5980612dba03d2479a955532894a851d /src/main/java/com/google/devtools/build/lib/skyframe
parentc2a1dcef6f696c910ea0c74b58d968fa08793ebe (diff)
Allow @repo//foo:bar targets in BUILD files
This allows you to use @repo//... syntax outside of the WORKSPACE file, which makes it easier to use external dependencies. -- MOS_MIGRATED_REVID=94275085
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java3
3 files changed, 4 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
index 3866da7c03..6191c81359 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.cmdline.LabelValidator;
-import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.BuildFileNotFoundException;
import com.google.devtools.build.lib.packages.ExternalPackage;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
@@ -153,8 +152,8 @@ class PackageLookupFunction implements SkyFunction {
} catch (NoSuchPackageException e) {
throw new PackageLookupFunctionException(e, Transience.PERSISTENT);
} catch (IOException | EvalException e) {
- throw new PackageLookupFunctionException(new BuildFileContainsErrorsException(
- PackageFunction.EXTERNAL_PACKAGE_NAME, e.getMessage()), Transience.PERSISTENT);
+ throw new PackageLookupFunctionException(new BuildFileNotFoundException(
+ ExternalPackage.NAME, e.getMessage()), Transience.PERSISTENT);
}
PathFragment buildFileFragment = id.getPackageFragment().getChild("BUILD");
RootedPath buildFileRootedPath = RootedPath.toRootedPath(repositoryValue.getPath(),
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunction.java
index 60c80a04ba..e55ea61a99 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunction.java
@@ -151,7 +151,7 @@ public class SkylarkImportLookupFunction implements SkyFunction {
try {
// This code relies on PackageIdentifier.RepositoryName.toString()
- return Label.parseRepositoryLabel(repo + "//" + pkgName.getPathString() + ":" + fileInPkg);
+ return Label.parseAbsolute(repo + "//" + pkgName.getPathString() + ":" + fileInPkg);
} catch (SyntaxException e) {
throw new IllegalStateException(e);
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
index 8303bd87a6..ea54ef0e46 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
@@ -159,8 +159,7 @@ public class WorkspaceFileFunction implements SkyFunction {
Label nameLabel = null;
try {
nameLabel = Label.parseAbsolute("//external:" + name);
- builder.addBinding(
- nameLabel, new Binding(Label.parseRepositoryLabel(actual), loc));
+ builder.addBinding(nameLabel, new Binding(Label.parseAbsolute(actual), loc));
} catch (SyntaxException e) {
throw new EvalException(loc, e.getMessage());
}