diff options
author | dslomov <dslomov@google.com> | 2017-05-03 13:58:48 +0200 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2017-05-03 17:26:19 +0200 |
commit | 3209a7d61ca24db10d76709e489f02bc46b98b92 (patch) | |
tree | 7b5dcb461553464c44a0d037455ba68160f24bcd /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java | |
parent | 9e37b2e52d6e42eec15712942c7f208b64c651e5 (diff) |
Do not add SkylarkProviders to target's provider map unless it is needed.
RELNOTES: None.
PiperOrigin-RevId: 154943665
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 | 16 |
1 files changed, 5 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 54d1e46b1d..7c285aaf15 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 @@ -13,8 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.analysis; -import com.google.common.collect.ImmutableCollection; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider; import com.google.devtools.build.lib.analysis.config.RunUnder; @@ -50,7 +48,7 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget { RuleConfiguredTarget( RuleContext ruleContext, TransitiveInfoProviderMap providers, - SkylarkProviders skylarkProviders1) { + SkylarkProviders skylarkProviders) { super(ruleContext); // We don't use ImmutableMap.Builder here to allow augmenting the initial list of 'default' // providers by passing them in. @@ -60,8 +58,10 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget { Preconditions.checkState(providerBuilder.contains(FilesToRunProvider.class)); // Initialize every SkylarkApiProvider - skylarkProviders1.init(this); - providerBuilder.add(skylarkProviders1); + if (!skylarkProviders.isEmpty()) { + skylarkProviders.init(this); + providerBuilder.add(skylarkProviders); + } this.providers = providerBuilder.build(); this.configConditions = ruleContext.getConfigConditions(); @@ -110,10 +110,4 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget { return String.format("target (rule class of '%s') doesn't have provider '%s'.", getTarget().getRuleClass(), name); } - - @Override - public ImmutableCollection<String> getKeys() { - return ImmutableList.<String>builder().addAll(super.getKeys()) - .addAll(getProvider(SkylarkProviders.class).getKeys()).build(); - } } |