Guard android-related "do not use" modules behind --experimental_google_legacy_api

RELNOTES: None.
PiperOrigin-RevId: 251501531
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBootstrap.java
index c80ab8e..472293b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBootstrap.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBootstrap.java
@@ -21,6 +21,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidNativeLibsInfoApi.AndroidNativeLibsInfoApiProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidResourcesInfoApi.AndroidResourcesInfoApiProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.android.ApkInfoApi.ApkInfoApiProvider;
+import com.google.devtools.build.lib.syntax.FlagGuardedValue;
+import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 
 /**
  * {@link Bootstrap} for skylark objects related to Android rules.
@@ -52,11 +54,29 @@
 
   @Override
   public void addBindingsToBuilder(ImmutableMap.Builder<String, Object> builder) {
-    builder.put("android_common", androidCommon);
-    builder.put(ApkInfoApi.NAME, apkInfoProvider);
-    builder.put(AndroidInstrumentationInfoApi.NAME, androidInstrumentationInfoProvider);
-    builder.put(AndroidDeviceBrokerInfoApi.NAME, androidDeviceBrokerInfoProvider);
-    builder.put(AndroidResourcesInfoApi.NAME, androidResourcesInfoProvider);
-    builder.put(AndroidNativeLibsInfoApi.NAME, androidNativeLibsInfoProvider);
+    builder.put(
+        "android_common",
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, androidCommon));
+    builder.put(
+        ApkInfoApi.NAME,
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, apkInfoProvider));
+    builder.put(
+        AndroidInstrumentationInfoApi.NAME,
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, androidInstrumentationInfoProvider));
+    builder.put(
+        AndroidDeviceBrokerInfoApi.NAME,
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, androidDeviceBrokerInfoProvider));
+    builder.put(
+        AndroidResourcesInfoApi.NAME,
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, androidResourcesInfoProvider));
+    builder.put(
+        AndroidNativeLibsInfoApi.NAME,
+        FlagGuardedValue.onlyWhenExperimentalFlagIsTrue(
+            FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API, androidNativeLibsInfoProvider));
   }
 }
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java
index 70a33fa..837bad9 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java
@@ -81,7 +81,7 @@
   }
 
   @Before
-  public void createFiles() throws Exception {
+  public void setup() throws Exception {
     scratch.file("java/android/BUILD",
         "android_binary(name = 'app',",
         "               srcs = ['A.java'],",
@@ -92,6 +92,7 @@
         "<resources><string name = 'hello'>Hello Android!</string></resources>");
     scratch.file("java/android/A.java",
         "package android; public class A {};");
+    setSkylarkSemanticsOptions("--experimental_google_legacy_api");
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java
index c1c9d72..2de7d8b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java
@@ -32,7 +32,6 @@
 import com.google.devtools.build.lib.analysis.test.ExecutionInfo;
 import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
 import com.google.devtools.build.lib.packages.InputFile;
-import java.io.IOException;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -58,7 +57,7 @@
   private static final String REQUIRES_KVM = "requires-kvm";
 
   @Before
-  public void setup() throws IOException {
+  public void setup() throws Exception {
     scratch.file(
         "sdk/system_images/BUILD",
         "filegroup(",
@@ -71,6 +70,7 @@
         "        'android_21/x86/userdata.img.tar.gz'",
         "    ],",
         ")");
+    setSkylarkSemanticsOptions("--experimental_google_legacy_api");
   }
 
   private FilesToRunProvider getToolDependency(String label) throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationTestTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationTestTest.java
index e826453..3a55fd3 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationTestTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationTestTest.java
@@ -93,6 +93,7 @@
         "  ],",
         ")");
     setupTargetDevice();
+    setSkylarkSemanticsOptions("--experimental_google_legacy_api");
   }
 
   // TODO(ajmichael): Share this with AndroidDeviceTest.java
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkCommonTest.java
index 2c2d44a..9995fe8 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkCommonTest.java
@@ -34,7 +34,8 @@
 
   @Test
   public void enableImplicitSourcelessDepsExportsCompatibilityTest() throws Exception {
-    setSkylarkSemanticsOptions("--experimental_enable_android_migration_apis");
+    setSkylarkSemanticsOptions(
+        "--experimental_enable_android_migration_apis", "--experimental_google_legacy_api");
     scratch.file(
         "java/android/compatible.bzl",
         "def _impl(ctx):",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
index 395da5c..071b98a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
@@ -64,10 +64,11 @@
   }
 
   @Before
-  public void setupMyInfo() throws Exception {
+  public void setup() throws Exception {
     scratch.file("myinfo/myinfo.bzl", "MyInfo = provider()");
 
     scratch.file("myinfo/BUILD");
+    setSkylarkSemanticsOptions("--experimental_google_legacy_api");
   }
 
   private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
index b83c2bb..940e224 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
@@ -2728,6 +2728,7 @@
         "    '_attr': attr.label(",
         "        cfg = android_common.multi_cpu_configuration,",
         "        default = configuration_field(fragment='cpp', name = 'cc_toolchain'))})");
+    setSkylarkSemanticsOptions("--experimental_google_legacy_api");
 
     scratch.file("test/BUILD", "load('//test:rule.bzl', 'foo')", "foo(name='foo')");
 
diff --git a/src/test/java/com/google/devtools/build/skydoc/BUILD b/src/test/java/com/google/devtools/build/skydoc/BUILD
index 21ca967..e3bab00 100644
--- a/src/test/java/com/google/devtools/build/skydoc/BUILD
+++ b/src/test/java/com/google/devtools/build/skydoc/BUILD
@@ -77,6 +77,9 @@
     name = "android_basic_test",
     golden_file = "testdata/android_basic_test/golden.txt",
     input_file = "testdata/android_basic_test/input.bzl",
+    semantic_flags = [
+        "--experimental_google_legacy_api",
+    ],
     skydoc = "//src/main/java/com/google/devtools/build/skydoc",
     whitelisted_symbols = ["android_related_rule"],
 )