diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java index 88eb059c47..7590bc344e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java @@ -36,7 +36,6 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.FragmentCollection; -import com.google.devtools.build.lib.analysis.platform.ToolchainInfo; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.events.Location; @@ -66,6 +65,7 @@ import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.FuncallExpression.FuncallException; import com.google.devtools.build.lib.syntax.Runtime; import com.google.devtools.build.lib.syntax.SkylarkDict; +import com.google.devtools.build.lib.syntax.SkylarkIndexable; import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; import com.google.devtools.build.lib.syntax.SkylarkType; @@ -186,7 +186,6 @@ public final class SkylarkRuleContext implements SkylarkValue { private SkylarkRuleAttributesCollection attributesCollection; private SkylarkRuleAttributesCollection ruleAttributesCollection; private SkylarkClassObject splitAttributes; - private SkylarkDict<Label, ToolchainInfo> toolchains; // TODO(bazel-team): we only need this because of the css_binary rule. private ImmutableMap<Artifact, Label> artifactsLabelMap; @@ -292,10 +291,6 @@ public final class SkylarkRuleContext implements SkylarkValue { } makeVariables = ruleContext.getConfigurationMakeVariableContext().collectMakeVariables(); - toolchains = - ruleContext.getToolchainContext() == null - ? SkylarkDict.<Label, ToolchainInfo>of(null) - : ruleContext.getToolchainContext().collectToolchains(); } /** @@ -315,7 +310,6 @@ public final class SkylarkRuleContext implements SkylarkValue { splitAttributes = null; artifactsLabelMap = null; outputsObject = null; - toolchains = null; } public void checkMutable(String attrName) throws EvalException { @@ -852,14 +846,9 @@ public final class SkylarkRuleContext implements SkylarkValue { } @SkylarkCallable(structField = true, doc = "Toolchains required for this rule.") - public SkylarkDict<Label, ToolchainInfo> toolchains() throws EvalException { + public SkylarkIndexable toolchains() throws EvalException { checkMutable("toolchains"); - if (isForAspect) { - // TODO(katre): Support toolchains on aspects. - throw new EvalException( - Location.BUILTIN, "'toolchains' is not available in aspect implementations"); - } - return toolchains; + return ruleContext.getToolchainContext().getResolvedToolchainProviders(); } @Override |