aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java29
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java65
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");
- }
}