Attach experimental platform Starlark APIs to --experimental_platforms_api

Technically, this is a breaking change. However, changes being guarded by this flag were already documented as "experimental", and users can use --experimental_platforms_api to temporarily continue using this API, if they so happened to start depending on it.

RELNOTES: A number of platform-related Starlark APIs which were previously marked "experimental" are now disabled by default, and may be enabled via --experimental_platforms_api
PiperOrigin-RevId: 215963147
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 bad29a9..d6eb28e 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
@@ -37,6 +37,7 @@
   public enum FlagIdentifier {
     EXPERIMENTAL_ANALYSIS_TESTING_IMPROVEMENTS(
         SkylarkSemantics::experimentalAnalysisTestingImprovements),
+    EXPERIMENTAL_PLATFORM_API(SkylarkSemantics::experimentalPlatformsApi),
     INCOMPATIBLE_DISABLE_OBJC_PROVIDER_RESOURCES(
         SkylarkSemantics::incompatibleDisableObjcProviderResources),
     INCOMPATIBLE_NO_TARGET_OUTPUT_GROUP(
@@ -101,6 +102,8 @@
 
   public abstract boolean experimentalRemapMainRepo();
 
+  public abstract boolean experimentalPlatformsApi();
+
   public abstract boolean incompatibleBzlDisallowLoadAfterStatement();
 
   public abstract boolean incompatibleDepsetIsNotIterable();
@@ -175,6 +178,7 @@
           .experimentalEnableAndroidMigrationApis(false)
           .experimentalEnableRepoMapping(false)
           .experimentalRemapMainRepo(false)
+          .experimentalPlatformsApi(false)
           .incompatibleBzlDisallowLoadAfterStatement(false)
           .incompatibleDepsetIsNotIterable(false)
           .incompatibleDepsetUnion(false)
@@ -219,6 +223,8 @@
 
     public abstract Builder experimentalRemapMainRepo(boolean value);
 
+    public abstract Builder experimentalPlatformsApi(boolean value);
+
     public abstract Builder incompatibleBzlDisallowLoadAfterStatement(boolean value);
 
     public abstract Builder incompatibleDepsetIsNotIterable(boolean value);