aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/core
diff options
context:
space:
mode:
authorGravatar mstaib <mstaib@google.com>2018-06-14 14:03:23 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-14 14:04:52 -0700
commit0412a9f92d00eda3b9a1df7da6c2ba059767c108 (patch)
tree910a1dc7485894f699ca0d5d1c0c0f99606cbb7b /src/main/java/com/google/devtools/build/lib/rules/core
parent2b015c53c89815472923d8ea0c94640b7db2fa20 (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.java2
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());