aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/cmdline
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/cmdline')
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/Label.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index b5a699023e..753909c130 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -81,6 +81,7 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
* <pre>
* //foo/bar
* //foo/bar:quux
+ * {@literal @}foo
* {@literal @}foo//bar
* {@literal @}foo//bar:baz
* </pre>
@@ -96,6 +97,7 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
* <pre>
* //foo/bar
* //foo/bar:quux
+ * {@literal @}foo
* {@literal @}foo//bar
* {@literal @}foo//bar:baz
* </pre>
@@ -110,6 +112,9 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
if (packageStartPos > 0) {
repo = absName.substring(0, packageStartPos);
absName = absName.substring(packageStartPos);
+ } else if (absName.startsWith("@")) {
+ repo = absName;
+ absName = "//:" + absName.substring(1);
}
try {
LabelValidator.PackageAndTarget labelParts = LabelValidator.parseAbsoluteLabel(absName);
@@ -324,7 +329,7 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
public String getPackageName() {
return packageIdentifier.getPackageFragment().getPathString();
}
-
+
/**
* Returns the execution root for the workspace, relative to the execroot (e.g., for label
* {@code @repo//pkg:b}, it will returns {@code external/repo/pkg} and for label {@code //pkg:a},