aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-09-01 09:11:02 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-09-01 10:54:44 +0000
commit37a1c1ca019e719250868d066f41fc6e39d0368c (patch)
tree1c1ce9eedd4186d3c6b2fe93eb124241ce55533e /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
parentffe049e689103784d540a868ae4c9d348e3e7982 (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.java15
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();