diff options
author | Kristina Chodorow <kchodorow@google.com> | 2015-05-22 14:03:02 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-05-22 20:00:29 +0000 |
commit | 0f85e10e7df57b82237f83a6341f9dcede8fc5eb (patch) | |
tree | b3a7524d5980612dba03d2479a955532894a851d /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | c2a1dcef6f696c910ea0c74b58d968fa08793ebe (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')
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()); } |