aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-05-03 13:58:48 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-03 17:26:19 +0200
commit3209a7d61ca24db10d76709e489f02bc46b98b92 (patch)
tree7b5dcb461553464c44a0d037455ba68160f24bcd /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
parent9e37b2e52d6e42eec15712942c7f208b64c651e5 (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.java16
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();
- }
}