From 37a1c1ca019e719250868d066f41fc6e39d0368c Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Thu, 1 Sep 2016 09:11:02 +0000 Subject: First step towards allowing returning declared providers from rule implementations. -- MOS_MIGRATED_REVID=131923497 --- .../devtools/build/lib/analysis/RuleConfiguredTarget.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java') diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java index fc29d3e82e..91af120e62 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java @@ -21,9 +21,7 @@ import com.google.devtools.build.lib.analysis.config.RunUnder; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.OutputFile; import com.google.devtools.build.lib.packages.Rule; -import com.google.devtools.build.lib.rules.SkylarkApiProvider; import com.google.devtools.build.lib.util.Preconditions; - import java.util.LinkedHashMap; import java.util.Map; @@ -51,8 +49,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget { private final ImmutableMap configConditions; RuleConfiguredTarget(RuleContext ruleContext, - ImmutableMap skylarkProviders, - Map, TransitiveInfoProvider> providers) { + Map, TransitiveInfoProvider> providers, + SkylarkProviders skylarkProviders1) { super(ruleContext); // We don't use ImmutableMap.Builder here to allow augmenting the initial list of 'default' // providers by passing them in. @@ -63,13 +61,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget { Preconditions.checkState(providerBuilder.containsKey(FilesToRunProvider.class)); // Initialize every SkylarkApiProvider - for (Object provider : skylarkProviders.values()) { - if (provider instanceof SkylarkApiProvider) { - ((SkylarkApiProvider) provider).init(this); - } - } - - providerBuilder.put(SkylarkProviders.class, new SkylarkProviders(skylarkProviders)); + skylarkProviders1.init(this); + providerBuilder.put(SkylarkProviders.class, skylarkProviders1); this.providers = ImmutableMap.copyOf(providerBuilder); this.configConditions = ruleContext.getConfigConditions(); -- cgit v1.2.3