aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/Alias.java
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-12-21 13:49:56 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-21 13:51:25 -0800
commitfd3bbf58e90dc4cc35b3254737ba3709901c5248 (patch)
tree8b416504f1e764ed00ff8b8e76ffdf056e776866 /src/main/java/com/google/devtools/build/lib/rules/Alias.java
parent87e5d3b2dfcf947b26d97deb584a14c1f9477c4b (diff)
Fix AliasRule to skip platform and toolchain resolution.
This causes a cycle in loading when an alias of a platform or constraint is used. Fixes https://github.com/bazelbuild/rules_go/issues/1161 Change-Id: I8b19ba94bfc52221416a3d99f5e5d4d80ce15bbd PiperOrigin-RevId: 179853665
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/Alias.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/Alias.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/Alias.java b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
index ad4369a226..364f6744ea 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/Alias.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
@@ -63,11 +63,16 @@ public class Alias implements RuleConfiguredTargetFactory {
<!-- #END_BLAZE_RULE.ATTRIBUTE -->*/
.removeAttribute("licenses")
.removeAttribute("distribs")
- .add(attr("actual", LABEL)
- .allowedFileTypes(FileTypeSet.ANY_FILE)
- .allowedRuleClasses(ANY_RULE)
- .mandatory())
+ .add(
+ attr("actual", LABEL)
+ .allowedFileTypes(FileTypeSet.ANY_FILE)
+ .allowedRuleClasses(ANY_RULE)
+ .mandatory())
.canHaveAnyProvider()
+ // Aliases themselves do not need toolchains or an execution platform, so this is fine.
+ // The actual target
+ // will resolve platforms and toolchains with no issues regardless of this setting.
+ .supportsPlatforms(false)
.build();
}