diff options
author | 2018-05-16 10:13:51 -0700 | |
---|---|---|
committer | 2018-05-16 10:15:49 -0700 | |
commit | 188b578c0e9995c864d284f22de4e48c220b0596 (patch) | |
tree | 104640b011b04e2d787098eacdd52df5bf22981d /src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java | |
parent | 238079669ec280a972adf68ee987c5d407e15b26 (diff) |
Enable manual trimming of config_feature_flags.
This enables users of config_feature_flags to specify the flags used by the transitive closure of a particular target in the transitive_configs attribute of all targets. It also adds a flag - --enforce_transitive_configs_for_config_feature_flag - which enforces this specification and uses it to trim the set of flags available to that target.
RELNOTES: None.
PiperOrigin-RevId: 196846092
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java index de5e22f779..4d49eafa58 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java +++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.rules.config; import com.google.common.collect.ImmutableList; +import com.google.devtools.build.lib.analysis.BaseRuleClasses; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider.RuleSet; import com.google.devtools.build.lib.rules.core.CoreRules; @@ -30,9 +31,12 @@ public final class ConfigRules implements RuleSet { @Override public void init(ConfiguredRuleClassProvider.Builder builder) { + builder.setTrimmingTransitionFactory( + new ConfigFeatureFlagTaggedTrimmingTransitionFactory(BaseRuleClasses.TAGGED_TRIMMING_ATTR)); builder.addRuleDefinition(new ConfigRuleClasses.ConfigBaseRule()); builder.addRuleDefinition(new ConfigRuleClasses.ConfigSettingRule()); - builder.addConfig(ConfigFeatureFlagOptions.class, new ConfigFeatureFlagConfiguration.Loader()); + builder.addConfig(ConfigFeatureFlagOptions.class, + new ConfigFeatureFlagConfiguration.Loader()); builder.addRuleDefinition(new ConfigRuleClasses.ConfigFeatureFlagRule()); builder.addSkylarkAccessibleTopLevels("config_common", new ConfigSkylarkCommon()); |