diff options
4 files changed, 0 insertions, 106 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java index b78fcebc91..0c1073173a 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java @@ -95,17 +95,6 @@ public final class TransitionResolver { // doesn't need special logic for combinations. ConfigurationTransition currentTransition = NoTransition.INSTANCE; - // Apply the parent rule's outgoing transition if it has one. - RuleTransitionFactory transitionFactory = - fromRule.getRuleClassObject().getOutgoingTransitionFactory(); - if (transitionFactory != null) { - ConfigurationTransition transition = - transitionFactory.buildTransitionFor(toTarget.getAssociatedRule()); - if (transition != null) { - currentTransition = composeTransitions(currentTransition, transition); - } - } - // TODO(gregce): make the below transitions composable (i.e. take away the "else" clauses). // The "else" is a legacy restriction from static configurations. if (attribute.hasSplitConfigurationTransition()) { diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java index b78ba49d60..ebb6f12bb3 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java +++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java @@ -587,7 +587,6 @@ public class RuleClass { private boolean isConfigMatcher = false; private ImplicitOutputsFunction implicitOutputsFunction = ImplicitOutputsFunction.NONE; private RuleTransitionFactory transitionFactory; - private RuleTransitionFactory outgoingTransitionFactory; private ConfiguredTargetFactory<?, ?, ?> configuredTargetFactory = null; private PredicateWithMessage<Rule> validityPredicate = PredicatesWithMessage.<Rule>alwaysTrue(); @@ -715,7 +714,6 @@ public class RuleClass { implicitOutputsFunction, isConfigMatcher, transitionFactory, - outgoingTransitionFactory, configuredTargetFactory, validityPredicate, preferredDependencyPredicate, @@ -903,22 +901,6 @@ public class RuleClass { return this; } - /** - * Applies the given transition factory to all deps of this rule class. - * - * <p>This means that for each dep, the factory can examine the dep's {@link Rule} to - * determine the right transition for that dep. - */ - public Builder depsCfg(RuleTransitionFactory outgoingTransitionFactory) { - Preconditions.checkState(type != RuleClassType.ABSTRACT, - "Setting not inherited property (configureDeps) of abstract rule class '%s'", name); - Preconditions.checkState(this.outgoingTransitionFactory == null, - "Property configureDeps has already been set"); - Preconditions.checkNotNull(outgoingTransitionFactory); - this.outgoingTransitionFactory = outgoingTransitionFactory; - return this; - } - public Builder factory(ConfiguredTargetFactory<?, ?, ?> factory) { this.configuredTargetFactory = factory; return this; @@ -1229,11 +1211,6 @@ public class RuleClass { */ private final RuleTransitionFactory transitionFactory; - /** - * A factory which will produce custom configuration transitions for each dep of this rule. - */ - private final RuleTransitionFactory outgoingTransitionFactory; - /** The factory that creates configured targets from this rule. */ private final ConfiguredTargetFactory<?, ?, ?> configuredTargetFactory; @@ -1325,7 +1302,6 @@ public class RuleClass { ImplicitOutputsFunction implicitOutputsFunction, boolean isConfigMatcher, RuleTransitionFactory transitionFactory, - RuleTransitionFactory outgoingRuleTransitionFactory, ConfiguredTargetFactory<?, ?, ?> configuredTargetFactory, PredicateWithMessage<Rule> validityPredicate, Predicate<String> preferredDependencyPredicate, @@ -1353,7 +1329,6 @@ public class RuleClass { this.implicitOutputsFunction = implicitOutputsFunction; this.isConfigMatcher = isConfigMatcher; this.transitionFactory = transitionFactory; - this.outgoingTransitionFactory = outgoingRuleTransitionFactory; this.configuredTargetFactory = configuredTargetFactory; this.validityPredicate = validityPredicate; this.preferredDependencyPredicate = preferredDependencyPredicate; @@ -1425,10 +1400,6 @@ public class RuleClass { return transitionFactory; } - public RuleTransitionFactory getOutgoingTransitionFactory() { - return outgoingTransitionFactory; - } - @SuppressWarnings("unchecked") public <CT, RC, ACE extends Throwable> ConfiguredTargetFactory<CT, RC, ACE> getConfiguredTargetFactory() { diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java index bbf1c2045d..4e33a396c2 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java @@ -878,7 +878,6 @@ public class RuleClassTest extends PackageLoadingTestCase { implicitOutputsFunction, /*isConfigMatcher=*/ false, transitionFactory, - null, configuredTargetFactory, validityPredicate, preferredDependencyPredicate, diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java index 9424090c53..28a922668a 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java @@ -22,10 +22,8 @@ import static com.google.devtools.build.lib.syntax.Type.STRING; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.analysis.ConfiguredTarget; -import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationResolver; @@ -35,7 +33,6 @@ import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition import com.google.devtools.build.lib.analysis.config.transitions.SplitTransition; import com.google.devtools.build.lib.analysis.test.TestConfiguration; import com.google.devtools.build.lib.analysis.util.MockRule; -import com.google.devtools.build.lib.analysis.util.MockRuleDefaults; import com.google.devtools.build.lib.analysis.util.TestAspects; import com.google.devtools.build.lib.analysis.util.TestAspects.DummyRuleFactory; import com.google.devtools.build.lib.cmdline.Label; @@ -431,66 +428,4 @@ public class ConfigurationsForTargetsWithTrimmedConfigurationsTest newSplitTransition("t")))) .containsExactly("s1t1", "s1t2", "s2t1", "s2t2"); } - - /** Sets {@link TestConfiguration.TestOptions#testFilter} to the rule class of the given rule. */ - private static final RuleTransitionFactory RULE_BASED_TEST_FILTER = - rule -> - (PatchTransition) - buildOptions -> { - BuildOptions toOptions = buildOptions.clone(); - toOptions.get(TestConfiguration.TestOptions.class).testFilter = rule.getRuleClass(); - return toOptions; - }; - - private static final RuleDefinition RULE_WITH_OUTGOING_TRANSITION = - (MockRule) - () -> - MockRule.define( - "change_deps", - (builder, env) -> - builder - .add(MockRuleDefaults.DEPS_ATTRIBUTE) - .requiresConfigurationFragments(TestConfiguration.class) - .depsCfg(RULE_BASED_TEST_FILTER)); - - @Test - public void outgoingRuleTransition() throws Exception { - setRulesAvailableInTests( - RULE_WITH_OUTGOING_TRANSITION, - (MockRule) - () -> - MockRule.define( - "foo_rule", - (builder, env) -> - builder.requiresConfigurationFragments(TestConfiguration.class)), - (MockRule) - () -> - MockRule.define( - "bar_rule", - (builder, env) -> - builder.requiresConfigurationFragments(TestConfiguration.class))); - scratch.file("outgoing/BUILD", - "foo_rule(", - " name = 'foolib')", - "bar_rule(", - " name = 'barlib')", - "change_deps(", - " name = 'bin',", - " deps = [':foolib', ':barlib'])"); - - List<ConfiguredTarget> deps = getConfiguredDeps("//outgoing:bin", "deps"); - ImmutableMap<String, String> depLabelToTestFilterString = - ImmutableMap.of( - deps.get(0).getLabel().toString(), - deps.get(0).getConfiguration().getFragment(TestConfiguration.class).getTestFilter(), - deps.get(1).getLabel().toString(), - deps.get(1) - .getConfiguration() - .getFragment(TestConfiguration.class) - .getTestFilter()); - - assertThat(depLabelToTestFilterString).containsExactly( - "//outgoing:foolib", "foo_rule", - "//outgoing:barlib", "bar_rule"); - } } |