aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-11-21 08:06:16 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-21 08:07:39 -0800
commit856b4dd190779ded5c2976f9b35fcc79606cc0d7 (patch)
tree9abd8d9792c8f038b82661ac13b9a639ab9521cb /src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
parent2ed3261931ac7282fa926cf54a70ed41df853a62 (diff)
Added new RuleClass flag to turn off platform support, to stop dependency cycles when loading platforms.
Part of #4128. Change-Id: Ie55a91aaaec15d8eb537f59131fc2e69a8f9c251 PiperOrigin-RevId: 176509311
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index 099cea7714..7622f4332b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -208,12 +208,15 @@ public final class ConfiguredTargetFunction implements SkyFunction {
// Determine what toolchains are needed by this target.
if (target instanceof Rule) {
Rule rule = ((Rule) target);
- ImmutableSet<Label> requiredToolchains = rule.getRuleClassObject().getRequiredToolchains();
- toolchainContext =
- ToolchainUtil.createToolchainContext(
- env, rule.toString(), requiredToolchains, configuration);
- if (env.valuesMissing()) {
- return null;
+ if (rule.getRuleClassObject().supportsPlatforms()) {
+ ImmutableSet<Label> requiredToolchains =
+ rule.getRuleClassObject().getRequiredToolchains();
+ toolchainContext =
+ ToolchainUtil.createToolchainContext(
+ env, rule.toString(), requiredToolchains, configuration);
+ if (env.valuesMissing()) {
+ return null;
+ }
}
}