Update Attribute to use a single TransitionFactory for patch and split
transitions.
Part of work on #7814.
Closes #7859.
PiperOrigin-RevId: 240797521
diff --git a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
index 85c0dcc..2211e573 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
@@ -27,6 +27,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.HostTransition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.SplitTransition;
import com.google.devtools.build.lib.analysis.config.transitions.TransitionFactory;
import com.google.devtools.build.lib.analysis.util.TestAspects;
@@ -279,7 +280,9 @@
TestSplitTransition splitTransition = new TestSplitTransition();
Attribute attr = attr("foo", LABEL).cfg(splitTransition).allowedFileTypes().build();
assertThat(attr.hasSplitConfigurationTransition()).isTrue();
- assertThat(attr.getSplitTransition(FakeAttributeMapper.empty())).isEqualTo(splitTransition);
+ ConfigurationTransition transition =
+ attr.getTransitionFactory().create(RuleTransitionData.create(FakeAttributeMapper.empty()));
+ assertThat(transition).isEqualTo(splitTransition);
}
@Test
@@ -288,8 +291,9 @@
Attribute attr =
attr("foo", LABEL).cfg(splitTransitionProvider).allowedFileTypes().build();
assertThat(attr.hasSplitConfigurationTransition()).isTrue();
- assertThat(attr.getSplitTransition(FakeAttributeMapper.empty()) instanceof TestSplitTransition)
- .isTrue();
+ ConfigurationTransition transition =
+ attr.getTransitionFactory().create(RuleTransitionData.create(FakeAttributeMapper.empty()));
+ assertThat(transition).isInstanceOf(TestSplitTransition.class);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 388239d..1bc2ccd 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -2750,7 +2750,7 @@
.getAssociatedRule()
.getRuleClassObject()
.getAttributeByName("dep")
- .getSplitTransitionProviderForTesting())
+ .getTransitionFactory())
.getStarlarkDefinedConfigTransitionForTesting();
StarlarkDefinedConfigTransition attrTransition =
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index ae9955b..325bc83 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -58,7 +58,6 @@
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import com.google.devtools.build.lib.syntax.StarlarkSemantics;
import com.google.devtools.build.lib.syntax.Type;
-import com.google.devtools.build.lib.testutil.FakeAttributeMapper;
import com.google.devtools.build.lib.testutil.MoreAsserts;
import com.google.devtools.build.lib.util.FileTypeSet;
import java.util.Collection;
@@ -588,8 +587,7 @@
@Test
public void testAttrCfgTarget() throws Exception {
Attribute attr = buildAttribute("a1", "attr.label(cfg = 'target', allow_files = True)");
- assertThat(attr.getConfigurationTransition(FakeAttributeMapper.empty()))
- .isEqualTo(NoTransition.INSTANCE);
+ assertThat(NoTransition.isInstance(attr.getTransitionFactory())).isTrue();
}
@Test