Introduce the transitions() function and "transition" type in Starlark.
This is under development and experimental, and is thus attached to the new flag --experimental_starlark_config_transitions. This new API is subject to change at any time until it is promoted out of "experimental".
RELNOTES: None.
PiperOrigin-RevId: 217533910
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 9fba528..0240a67 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
@@ -104,6 +104,8 @@
public abstract boolean experimentalPlatformsApi();
+ public abstract boolean experimentalStarlarkConfigTransitions();
+
public abstract boolean incompatibleBzlDisallowLoadAfterStatement();
public abstract boolean incompatibleDepsetIsNotIterable();
@@ -181,6 +183,7 @@
.experimentalEnableRepoMapping(false)
.experimentalRemapMainRepo(false)
.experimentalPlatformsApi(false)
+ .experimentalStarlarkConfigTransitions(false)
.incompatibleBzlDisallowLoadAfterStatement(false)
.incompatibleDepsetIsNotIterable(false)
.incompatibleDepsetUnion(false)
@@ -228,6 +231,8 @@
public abstract Builder experimentalPlatformsApi(boolean value);
+ public abstract Builder experimentalStarlarkConfigTransitions(boolean value);
+
public abstract Builder incompatibleBzlDisallowLoadAfterStatement(boolean value);
public abstract Builder incompatibleDepsetIsNotIterable(boolean value);