Make select() statements in remote repositories with selector labels pointing back to the main repository ("@//:...") work.
In principle, we should just use main repository labels instead of default repository labels in all the SkyKeys that take labels. @bsilver8192 is working on it, but in the meantime, this will serve to unblock @chin33z.
Fixes #811.
--
MOS_MIGRATED_REVID=112787545
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index 92ea112..137aeb8 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -1487,9 +1487,7 @@
for (Attribute attr : rule.getAttributes()) {
SelectorList<?> selectors = attributes.getSelectorList(attr.getName(), attr.getType());
if (selectors != null) {
- for (Label key : selectors.getKeyLabels()) {
- configLabels.add(rule.getLabel().resolveRepositoryRelative(key));
- }
+ configLabels.addAll(selectors.getKeyLabels());
}
}