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"],
)