Remove Attribute.hasSplitConfigurationTransition.
Part of #7814.
PiperOrigin-RevId: 241564844
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index 536cb10..8b572a0 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -535,7 +535,7 @@
Attribute attribute,
BuildConfiguration ruleConfig,
BuildConfiguration hostConfig) {
- Preconditions.checkState(!attribute.hasSplitConfigurationTransition());
+ Preconditions.checkState(!attribute.getTransitionFactory().isSplit());
@SuppressWarnings("unchecked")
LateBoundDefault<FragmentT, ?> lateBoundDefault =
(LateBoundDefault<FragmentT, ?>) attribute.getLateBoundDefault();
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index a669df3..6b8b434 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -813,7 +813,7 @@
public List<ConfiguredTargetAndData> getPrerequisiteConfiguredTargetAndTargets(
String attributeName, Mode mode) {
Attribute attributeDefinition = attributes().getAttributeDefinition(attributeName);
- if ((mode == Mode.TARGET) && (attributeDefinition.hasSplitConfigurationTransition())) {
+ if ((mode == Mode.TARGET) && (attributeDefinition.getTransitionFactory().isSplit())) {
// TODO(bazel-team): If you request a split-configured attribute in the target configuration,
// we return only the list of configured targets for the first architecture; this is for
// backwards compatibility with existing code in cases where the call to getPrerequisites is
@@ -837,7 +837,7 @@
getSplitPrerequisiteConfiguredTargetAndTargets(String attributeName) {
checkAttribute(attributeName, Mode.SPLIT);
Attribute attributeDefinition = attributes().getAttributeDefinition(attributeName);
- Preconditions.checkState(attributeDefinition.hasSplitConfigurationTransition());
+ Preconditions.checkState(attributeDefinition.getTransitionFactory().isSplit());
SplitTransition transition =
(SplitTransition)
attributeDefinition
@@ -1192,7 +1192,7 @@
+ getRuleClassNameForLogging() + " attribute " + attributeName
+ ": DATA transition no longer supported"); // See b/80157700.
} else if (mode == Mode.SPLIT) {
- if (!(attributeDefinition.hasSplitConfigurationTransition())) {
+ if (!(attributeDefinition.getTransitionFactory().isSplit())) {
throw new IllegalStateException(getRule().getLocation() + ": "
+ getRuleClassNameForLogging() + " attribute " + attributeName
+ " is not configured for a split transition");
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
index 7f9ed87..a4599ba 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
@@ -312,7 +312,7 @@
Dependency resolvedDep = Dependency.withConfigurationAndAspects(originalDep.getLabel(),
trimmedConfig.getConfiguration(), originalDep.getAspects());
Attribute attribute = attr.dependencyKind.getAttribute();
- if (attribute != null && attribute.hasSplitConfigurationTransition()) {
+ if (attribute != null && attribute.getTransitionFactory().isSplit()) {
resolvedDeps.put(attr, resolvedDep);
} else {
putOnlyEntry(resolvedDeps, attr, resolvedDep);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
index 3492a62..dabb841 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
@@ -202,14 +202,14 @@
skyname,
context.getRuleContext().getPrerequisiteArtifacts(a.getName(), Mode.DONT_CHECK).list());
- if (type == BuildType.LABEL && !a.hasSplitConfigurationTransition()) {
+ if (type == BuildType.LABEL && !a.getTransitionFactory().isSplit()) {
Object prereq = context.getRuleContext().getPrerequisite(a.getName(), Mode.DONT_CHECK);
if (prereq == null) {
prereq = Runtime.NONE;
}
attrBuilder.put(skyname, prereq);
} else if (type == BuildType.LABEL_LIST
- || (type == BuildType.LABEL && a.hasSplitConfigurationTransition())) {
+ || (type == BuildType.LABEL && a.getTransitionFactory().isSplit())) {
List<?> allPrereq = context.getRuleContext().getPrerequisites(a.getName(), Mode.DONT_CHECK);
attrBuilder.put(skyname, SkylarkList.createImmutable(allPrereq));
} else if (type == BuildType.LABEL_KEYED_STRING_DICT) {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
index 50b23e1..a0ff5a3 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -428,7 +428,7 @@
ImmutableMap.Builder<String, Object> splitAttrInfos = ImmutableMap.builder();
for (Attribute attr : attributes) {
- if (attr.hasSplitConfigurationTransition()) {
+ if (attr.getTransitionFactory().isSplit()) {
Map<Optional<String>, ? extends List<? extends TransitiveInfoCollection>> splitPrereqs =
ruleContext.getSplitPrerequisites(attr.getName());
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index a1c80d8..1d5a0b1 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -2150,14 +2150,6 @@
}
/**
- * Returns true if this attribute transitions on a split transition. See {@link SplitTransition}.
- */
- // TODO(https://github.com/bazelbuild/bazel/issues/7814) Remove this.
- public boolean hasSplitConfigurationTransition() {
- return transitionFactory.isSplit();
- }
-
- /**
* Returns true if this attribute transitions to the host configuration. See {@link
* com.google.devtools.build.lib.analysis.config.HostTransition}.
*/
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 82d6b85..6353b8a 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
@@ -281,7 +281,7 @@
public void testSplitTransition() throws Exception {
TestSplitTransition splitTransition = new TestSplitTransition();
Attribute attr = attr("foo", LABEL).cfg(splitTransition).allowedFileTypes().build();
- assertThat(attr.hasSplitConfigurationTransition()).isTrue();
+ assertThat(attr.getTransitionFactory().isSplit()).isTrue();
ConfigurationTransition transition =
attr.getTransitionFactory()
.create(AttributeTransitionData.create(FakeAttributeMapper.empty()));
@@ -293,7 +293,7 @@
TestSplitTransitionProvider splitTransitionProvider = new TestSplitTransitionProvider();
Attribute attr =
attr("foo", LABEL).cfg(splitTransitionProvider).allowedFileTypes().build();
- assertThat(attr.hasSplitConfigurationTransition()).isTrue();
+ assertThat(attr.getTransitionFactory().isSplit()).isTrue();
ConfigurationTransition transition =
attr.getTransitionFactory()
.create(AttributeTransitionData.create(FakeAttributeMapper.empty()));
@@ -305,7 +305,7 @@
Attribute attr =
attr("foo", LABEL).cfg(HostTransition.createFactory()).allowedFileTypes().build();
assertThat(attr.hasHostConfigurationTransition()).isTrue();
- assertThat(attr.hasSplitConfigurationTransition()).isFalse();
+ assertThat(attr.getTransitionFactory().isSplit()).isFalse();
}
private static class TestSplitTransition implements SplitTransition {