From b6fbab7115c1567705e7bddc7b79bdee6313fce3 Mon Sep 17 00:00:00 2001 From: Kristina Chodorow Date: Thu, 28 Jan 2016 14:38:31 +0000 Subject: Resolve repository-relative labels within the current repository Using $(location //foo) from an external repository was resolving to @//foo, not @repo//foo, which generally wouldn't be in the main repository. This may also fix other cases where getRelative was resolving incorrectly. Fixes #819. -- MOS_MIGRATED_REVID=113256854 --- .../google/devtools/build/lib/cmdline/Label.java | 26 +++--- .../devtools/build/lib/cmdline/RepositoryName.java | 2 +- .../devtools/build/lib/packages/Package.java | 3 +- .../devtools/build/lib/cmdline/LabelTest.java | 92 +++++++++++++++++++--- src/test/shell/bazel/bazel_rules_test.sh | 31 ++++++++ 5 files changed, 125 insertions(+), 29 deletions(-) (limited to 'src') 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 7e1046f8a1..b1bcffa482 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 @@ -49,6 +49,8 @@ public final class Label implements Comparable