diff options
author | Dmitry Lomov <dslomov@google.com> | 2016-09-01 09:11:02 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-09-01 10:54:44 +0000 |
commit | 37a1c1ca019e719250868d066f41fc6e39d0368c (patch) | |
tree | 1c1ce9eedd4186d3c6b2fe93eb124241ce55533e /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java | |
parent | ffe049e689103784d540a868ae4c9d348e3e7982 (diff) |
First step towards allowing returning declared providers from rule implementations.
--
MOS_MIGRATED_REVID=131923497
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java | 15 |
1 files changed, 4 insertions, 11 deletions
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<Label, ConfigMatchingProvider> configConditions; RuleConfiguredTarget(RuleContext ruleContext, - ImmutableMap<String, Object> skylarkProviders, - Map<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> providers) { + Map<Class<? extends TransitiveInfoProvider>, 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(); |