Remove `--incompatible_disallow_data_transition` flag
https://github.com/bazelbuild/bazel/issues/6153
RELNOTES: None.
PiperOrigin-RevId: 240442015
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
index ee19167..ebff96a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
@@ -259,17 +259,7 @@
ast.getLocation(),
"late-bound attributes must not have a split configuration transition");
}
- if (trans.equals("data")) {
- // This used to apply the "disable LIPO" (a.k.a. "data") transition. But now that LIPO is
- // turned down this is a noop. Still, there are cfg = "data"' references in the depot. So
- // we have to remove them via b/28688645 before we can remove this path.
- if (env.getSemantics().incompatibleDisallowDataTransition()) {
- throw new EvalException(ast.getLocation(),
- "Using cfg = \"data\" on an attribute is a noop and no longer supported. Please "
- + "remove it. You can use --incompatible_disallow_data_transition=false to "
- + "temporarily disable this check.");
- }
- } else if (trans.equals("host")) {
+ if (trans.equals("host")) {
builder.cfg(HostTransition.INSTANCE);
} else if (trans instanceof SplitTransition) {
builder.cfg((SplitTransition) trans);
@@ -293,8 +283,7 @@
builder.cfg(new StarlarkAttributeTransitionProvider(starlarkDefinedTransition));
} else if (!trans.equals("target")) {
// TODO(b/121134880): update error message when starlark build configurations is ready.
- throw new EvalException(
- ast.getLocation(), "cfg must be either 'data', 'host', or 'target'.");
+ throw new EvalException(ast.getLocation(), "cfg must be either 'host' or 'target'.");
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
index 59b6376..1a2c2e9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
@@ -252,18 +252,6 @@
public boolean incompatibleDisableThirdPartyLicenseChecking;
@Option(
- name = "incompatible_disallow_data_transition",
- defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.STARLARK_SEMANTICS,
- effectTags = {OptionEffectTag.BUILD_FILE_SEMANTICS},
- metadataTags = {
- OptionMetadataTag.INCOMPATIBLE_CHANGE,
- OptionMetadataTag.TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES
- },
- help = "If set to true, rule attributes cannot set 'cfg = \"data\"', which is a noop.")
- public boolean incompatibleDisallowDataTransition;
-
- @Option(
name = "incompatible_disallow_dict_plus",
defaultValue = "true",
documentationCategory = OptionDocumentationCategory.STARLARK_SEMANTICS,
@@ -560,7 +548,6 @@
.incompatibleDisableThirdPartyLicenseChecking(incompatibleDisableThirdPartyLicenseChecking)
.incompatibleDisableDeprecatedAttrParams(incompatibleDisableDeprecatedAttrParams)
.incompatibleDisableObjcProviderResources(incompatibleDisableObjcProviderResources)
- .incompatibleDisallowDataTransition(incompatibleDisallowDataTransition)
.incompatibleDisallowDictPlus(incompatibleDisallowDictPlus)
.incompatibleDisallowFileType(incompatibleDisallowFileType)
.incompatibleDisallowLegacyJavaInfo(incompatibleDisallowLegacyJavaInfo)
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
index c60216d..abddc4f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
@@ -140,8 +140,6 @@
public abstract boolean incompatibleDisableObjcProviderResources();
- public abstract boolean incompatibleDisallowDataTransition();
-
public abstract boolean incompatibleDisallowDictPlus();
public abstract boolean incompatibleDisallowFileType();
@@ -214,7 +212,6 @@
.incompatibleDisableThirdPartyLicenseChecking(false)
.incompatibleDisableDeprecatedAttrParams(false)
.incompatibleDisableObjcProviderResources(false)
- .incompatibleDisallowDataTransition(true)
.incompatibleDisallowDictPlus(true)
.incompatibleDisallowFileType(true)
.incompatibleDisallowLegacyJavaProvider(false)
@@ -270,8 +267,6 @@
public abstract Builder incompatibleDisableObjcProviderResources(boolean value);
- public abstract Builder incompatibleDisallowDataTransition(boolean value);
-
public abstract Builder incompatibleDisallowDictPlus(boolean value);
public abstract Builder incompatibleDisallowFileType(boolean value);
diff --git a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
index a7b732b..ff7874f 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
@@ -138,7 +138,6 @@
"--incompatible_disable_deprecated_attr_params=" + rand.nextBoolean(),
"--incompatible_disable_objc_provider_resources=" + rand.nextBoolean(),
"--incompatible_disable_third_party_license_checking=" + rand.nextBoolean(),
- "--incompatible_disallow_data_transition=" + rand.nextBoolean(),
"--incompatible_disallow_dict_plus=" + rand.nextBoolean(),
"--incompatible_disallow_filetype=" + rand.nextBoolean(),
"--incompatible_disallow_legacy_javainfo=" + rand.nextBoolean(),
@@ -185,7 +184,6 @@
.incompatibleDisableDeprecatedAttrParams(rand.nextBoolean())
.incompatibleDisableObjcProviderResources(rand.nextBoolean())
.incompatibleDisableThirdPartyLicenseChecking(rand.nextBoolean())
- .incompatibleDisallowDataTransition(rand.nextBoolean())
.incompatibleDisallowDictPlus(rand.nextBoolean())
.incompatibleDisallowFileType(rand.nextBoolean())
.incompatibleDisallowLegacyJavaInfo(rand.nextBoolean())
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 f14a303..382c7bb 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
@@ -594,17 +594,9 @@
@Test
public void incompatibleDataTransition() throws Exception {
- ev =
- createEvaluationTestCase(
- StarlarkSemantics.DEFAULT_SEMANTICS
- .toBuilder()
- .incompatibleDisallowDataTransition(true)
- .build());
- ev.initialize();
EvalException expected =
assertThrows(EvalException.class, () -> eval("attr.label(cfg = 'data')"));
- assertThat(expected).hasMessageThat().contains(
- "Using cfg = \"data\" on an attribute is a noop and no longer supported");
+ assertThat(expected).hasMessageThat().contains("cfg must be either 'host' or 'target'");
}
@Test