diff options
author | 2017-11-21 08:06:16 -0800 | |
---|---|---|
committer | 2017-11-21 08:07:39 -0800 | |
commit | 856b4dd190779ded5c2976f9b35fcc79606cc0d7 (patch) | |
tree | 9abd8d9792c8f038b82661ac13b9a639ab9521cb /src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java | |
parent | 2ed3261931ac7282fa926cf54a70ed41df853a62 (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.java | 15 |
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; + } } } |