Add -Djava.security.manager=allow to BazelAndroidLocalTest to prevent breakage when running on JDK 21. Fixes #21593. PiperOrigin-RevId: 613629087 Change-Id: I974643aa204547eed7d251507a063a6563f3886c
diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml index 4c74789..731ff75 100644 --- a/.bazelci/postsubmit.yml +++ b/.bazelci/postsubmit.yml
@@ -47,11 +47,6 @@ - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -100,11 +95,6 @@ - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -163,11 +153,6 @@ - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -221,11 +206,6 @@ - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 6cf2954..aaa8660 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml
@@ -48,11 +48,6 @@ - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -102,11 +97,6 @@ - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -166,11 +156,6 @@ - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- include_json_profile: - build - test @@ -265,11 +250,6 @@ # - "-//src/test/shell/bazel/android:resource_processing_integration_test" - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_released_test" # - "-//src/test/shell/bazel/android:aar_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/21593 - # -- - - "-//src/test/shell/bazel/android:android_local_test_integration_test" - - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" - # -- - "-//src/tools/singlejar:zip64_test" - "-//src/test/py/bazel:launcher_test" - "-//src/test/shell/integration:bazel_worker_test"
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java index 952bd5a..245a183 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java
@@ -27,6 +27,7 @@ import com.google.devtools.build.lib.rules.java.JavaCommon; import com.google.devtools.build.lib.rules.java.JavaCompilationArtifacts; import com.google.devtools.build.lib.rules.java.JavaCompilationHelper; +import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo; import com.google.devtools.build.lib.rules.java.JavaSemantics; import com.google.devtools.build.lib.rules.java.JavaTargetAttributes; import com.google.devtools.build.lib.util.ShellEscaper; @@ -57,16 +58,25 @@ throws RuleErrorException, InterruptedException { Artifact androidAllJarsPropertiesFile = getAndroidAllJarsPropertiesFile(ruleContext); - return ImmutableList.<String>builder() - .addAll(JavaCommon.getJvmFlags(ruleContext)) - .add("-ea") - .add("-Dbazel.test_suite=" + ShellEscaper.escapeString(testClass)) - .add("-Drobolectric.offline=true") - .add( - "-Drobolectric-deps.properties=" + androidAllJarsPropertiesFile.getRunfilesPathString()) - .add("-Duse_framework_manifest_parser=true") - .add("-Dorg.robolectric.packagesToNotAcquire=com.google.testing.junit.runner.util") - .build(); + ImmutableList.Builder<String> builder = + ImmutableList.<String>builder() + .addAll(JavaCommon.getJvmFlags(ruleContext)) + .add("-ea") + .add("-Dbazel.test_suite=" + ShellEscaper.escapeString(testClass)) + .add("-Drobolectric.offline=true") + .add( + "-Drobolectric-deps.properties=" + + androidAllJarsPropertiesFile.getRunfilesPathString()) + .add("-Duse_framework_manifest_parser=true") + .add("-Dorg.robolectric.packagesToNotAcquire=com.google.testing.junit.runner.util"); + + if (JavaRuntimeInfo.from(ruleContext, createJavaSemantics().getJavaRuntimeToolchainType()) + .version() + >= 17) { + builder.add("-Djava.security.manager=allow"); + } + + return builder.build(); } @Override