Create new starlark semantics flag to turn off whitelisting. Defaulted to "false" but doesn't actually attach to any logic yet.
Change 1/3
#7056
PiperOrigin-RevId: 228947555
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java
index 721b43d..ee0a109 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java
@@ -145,6 +145,18 @@
public boolean experimentalStarlarkConfigTransitions;
@Option(
+ name = "experimental_transition_whitelist_location",
+ defaultValue = "",
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
+ metadataTags = {OptionMetadataTag.EXPERIMENTAL},
+ help =
+ "If not empty, turns on whitelist checking for starlark-defined split transitions "
+ + "using package groups from the specified location. If empty, starlark-defined split"
+ + "transitions are enabled in all locations.")
+ public String experimentalTransitionWhitelistLocation;
+
+ @Option(
name = "incompatible_bzl_disallow_load_after_statement",
defaultValue = "false",
documentationCategory = OptionDocumentationCategory.SKYLARK_SEMANTICS,
@@ -498,6 +510,7 @@
experimentalJavaCommonCreateProviderEnabledPackages)
.experimentalPlatformsApi(experimentalPlatformsApi)
.experimentalStarlarkConfigTransitions(experimentalStarlarkConfigTransitions)
+ .experimentalTransitionWhitelistLocation(experimentalTransitionWhitelistLocation)
.incompatibleBzlDisallowLoadAfterStatement(incompatibleBzlDisallowLoadAfterStatement)
.incompatibleDepsetIsNotIterable(incompatibleDepsetIsNotIterable)
.incompatibleDepsetUnion(incompatibleDepsetUnion)
@@ -527,3 +540,4 @@
.build();
}
}
+
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
index b7fbe0c..330d201 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
@@ -132,6 +132,8 @@
public abstract boolean experimentalStarlarkConfigTransitions();
+ public abstract String experimentalTransitionWhitelistLocation();
+
public abstract boolean incompatibleBzlDisallowLoadAfterStatement();
public abstract boolean incompatibleDepsetIsNotIterable();
@@ -205,6 +207,7 @@
.experimentalRemapMainRepo(false)
.experimentalPlatformsApi(false)
.experimentalStarlarkConfigTransitions(false)
+ .experimentalTransitionWhitelistLocation("")
.incompatibleBzlDisallowLoadAfterStatement(false)
.incompatibleDepsetIsNotIterable(false)
.incompatibleDepsetUnion(false)
@@ -253,6 +256,8 @@
public abstract Builder experimentalStarlarkConfigTransitions(boolean value);
+ public abstract Builder experimentalTransitionWhitelistLocation(String value);
+
public abstract Builder incompatibleBzlDisallowLoadAfterStatement(boolean value);
public abstract Builder incompatibleDepsetIsNotIterable(boolean value);
@@ -306,3 +311,4 @@
public abstract SkylarkSemantics build();
}
}
+
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 21cfc8e..0ea7ef7 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
@@ -132,6 +132,7 @@
"--experimental_platforms_api=" + rand.nextBoolean(),
"--experimental_remap_main_repo=" + rand.nextBoolean(),
"--experimental_starlark_config_transitions=" + rand.nextBoolean(),
+ "--experimental_transition_whitelist_location=" + rand.nextDouble(),
"--incompatible_bzl_disallow_load_after_statement=" + rand.nextBoolean(),
"--incompatible_depset_is_not_iterable=" + rand.nextBoolean(),
"--incompatible_depset_union=" + rand.nextBoolean(),
@@ -176,6 +177,7 @@
.experimentalPlatformsApi(rand.nextBoolean())
.experimentalRemapMainRepo(rand.nextBoolean())
.experimentalStarlarkConfigTransitions(rand.nextBoolean())
+ .experimentalTransitionWhitelistLocation(String.valueOf(rand.nextDouble()))
.incompatibleBzlDisallowLoadAfterStatement(rand.nextBoolean())
.incompatibleDepsetIsNotIterable(rand.nextBoolean())
.incompatibleDepsetUnion(rand.nextBoolean())
@@ -211,3 +213,4 @@
return parser.getOptions(SkylarkSemanticsOptions.class);
}
}
+