diff options
author | mstaib <mstaib@google.com> | 2018-06-14 14:03:23 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-14 14:04:52 -0700 |
commit | 0412a9f92d00eda3b9a1df7da6c2ba059767c108 (patch) | |
tree | 910a1dc7485894f699ca0d5d1c0c0f99606cbb7b /src/main/java/com/google/devtools/build/lib/rules/core | |
parent | 2b015c53c89815472923d8ea0c94640b7db2fa20 (diff) |
Enable automatic trimming of test configuration when entering non-test rules.
Note that this is not sufficient to see caching between builds on its own;
currently when any flag changes, the analysis cache is reset. A follow-up
will turn off this behavior when only test flags change while
trim_test_configuration is on.
config_settings which examine test options are treated the same as test rules;
that is, they can only be successfully analyzed at the top level or when
connected to the top level by an unbroken chain of test rules.
RELNOTES: None.
PiperOrigin-RevId: 200614584
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/core')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/core/CoreRules.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/core/CoreRules.java b/src/main/java/com/google/devtools/build/lib/rules/core/CoreRules.java index 90d44a5bd6..a89b3c5f1d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/core/CoreRules.java +++ b/src/main/java/com/google/devtools/build/lib/rules/core/CoreRules.java @@ -18,6 +18,7 @@ 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.analysis.test.TestConfiguration; +import com.google.devtools.build.lib.analysis.test.TestTrimmingTransitionFactory; /** A set of basic rules - Bazel won't work correctly without these. */ public final class CoreRules implements RuleSet { @@ -30,6 +31,7 @@ public final class CoreRules implements RuleSet { @Override public void init(ConfiguredRuleClassProvider.Builder builder) { builder.addConfig(TestConfiguration.TestOptions.class, new TestConfiguration.Loader()); + builder.addTrimmingTransitionFactory(new TestTrimmingTransitionFactory()); builder.addRuleDefinition(new BaseRuleClasses.RootRule()); builder.addRuleDefinition(new BaseRuleClasses.BaseRule()); builder.addRuleDefinition(new BaseRuleClasses.RuleBase()); |