Switch the embedded JDK to version 17.
This allows removing the "cached" allmodules and minimized jdk archives, since `jlink` is deterministic in newer JDK versions.
Fixes https://github.com/bazelbuild/bazel/issues/14785.
Closes #16541.
PiperOrigin-RevId: 489464974
Change-Id: If5bb457d20cf79b70ba03b862eff302ef4d296d2
diff --git a/src/BUILD b/src/BUILD
index 4bf0179..d06feab 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -42,7 +42,6 @@
) for suffix, embedded_tools_target in {
"_jdk_allmodules": [":embedded_tools_jdk_allmodules"],
"_jdk_minimal": [":embedded_tools_jdk_minimal"],
- "_dev_jdk": [":embedded_tools_dev_jdk"],
"_nojdk": [":embedded_tools_nojdk"],
"_notools": [],
}.items()]
@@ -125,9 +124,8 @@
"//src/test:__subpackages__", # For integration tests
],
) for suffix, jdk in {
- "_jdk_allmodules": [":embedded_jdk_allmodules_cached"],
- "_jdk_minimal": [":embedded_jdk_minimal_cached"],
- "_dev_jdk": [":embedded_jdk_minimal"],
+ "_jdk_allmodules": [":embedded_jdk_allmodules"],
+ "_jdk_minimal": [":embedded_jdk_minimal"],
"_nojdk": [],
}.items()]
@@ -142,56 +140,6 @@
)
filegroup(
- name = "embedded_jdk_allmodules_cached",
- srcs = select({
- "//src/conditions:darwin_x86_64": [
- "@openjdk_macos_x86_64//file",
- ],
- "//src/conditions:darwin_arm64": [
- "@openjdk_macos_aarch64//file",
- ],
- "//src/conditions:windows_arm64": [
- "@openjdk_win_arm64_vanilla//file", # TODO(#14339): replace with openjdk_win_arm64 when packages are uploaded to bazel mirror server
- ],
- "//src/conditions:windows_x86_64": [
- "@openjdk_win//file",
- ],
- "//src/conditions:linux_aarch64": [
- "@openjdk_linux_aarch64//file",
- ],
- "//conditions:default": [
- "@openjdk_linux//file",
- ],
- }),
- visibility = ["//src/test/shell/bazel:__pkg__"],
-)
-
-filegroup(
- name = "embedded_jdk_minimal_cached",
- srcs = select({
- "//src/conditions:darwin_x86_64": [
- "@openjdk_macos_x86_64_minimal//file",
- ],
- "//src/conditions:darwin_arm64": [
- "@openjdk_macos_aarch64_minimal//file",
- ],
- "//src/conditions:windows_arm64": [
- "@openjdk_win_arm64_vanilla//file", # TODO(#14339): replace with openjdk_win_arm64 when packages are uploaded to bazel mirror server
- ],
- "//src/conditions:windows_x86_64": [
- "@openjdk_win_minimal//file",
- ],
- "//src/conditions:linux_aarch64": [
- "@openjdk_linux_aarch64_minimal//file",
- ],
- "//conditions:default": [
- "@openjdk_linux_minimal//file",
- ],
- }),
- visibility = ["//src/test/shell/bazel:__pkg__"],
-)
-
-filegroup(
name = "embedded_jdk_vanilla",
srcs = select({
"//src/conditions:darwin_x86_64": [
@@ -224,60 +172,29 @@
srcs = ["minimize_jdk.sh"],
)
-filegroup(
+genrule(
name = "embedded_jdk_minimal",
- srcs = select({
- "//src/conditions:windows": [
- ":embedded_jdk_minimal.zip",
- ],
- "//conditions:default": [
- ":embedded_jdk_minimal.tar.gz",
- ],
- }),
-)
-
-filegroup(
- name = "embedded_jdk_allmodules",
- srcs = select({
- "//src/conditions:windows": [
- ":embedded_jdk_allmodules.zip",
- ],
- "//conditions:default": [
- ":embedded_jdk_allmodules.tar.gz",
- ],
- }),
- visibility = ["//src/test/shell/bazel:__pkg__"],
-)
-
-[genrule(
- name = "embedded_jdk_minimal" + suffix,
srcs = [
":embedded_jdk_vanilla",
":minimize_jdk.sh",
":jdeps_modules.golden",
],
- outs = ["minimal_jdk" + suffix],
+ outs = ["minimal_jdk.zip"],
cmd = "$(location :minimize_jdk.sh) $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
visibility = ["//src/test/shell/bazel:__pkg__"],
-) for suffix in [
- ".zip",
- ".tar.gz",
-]]
+)
-[genrule(
- name = "embedded_jdk_allmodules" + suffix,
+genrule(
+ name = "embedded_jdk_allmodules",
srcs = [
":embedded_jdk_vanilla",
":minimize_jdk.sh",
":jdeps_modules.golden",
],
- outs = ["allmodules_jdk" + suffix],
+ outs = ["allmodules_jdk.zip"],
cmd = "$(location :minimize_jdk.sh) --allmodules $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
visibility = ["//src/test/shell/bazel:__pkg__"],
-) for suffix in [
- ".zip",
- ".tar.gz",
-]]
+)
[srcsfile(
name = "embedded_tools" + suffix + "_params",
@@ -286,7 +203,6 @@
) for suffix in [
"_jdk_allmodules",
"_jdk_minimal",
- "_dev_jdk",
"_nojdk",
]]
@@ -302,7 +218,6 @@
) for suffix in [
"_jdk_allmodules",
"_jdk_minimal",
- "_dev_jdk",
"_nojdk",
]]
@@ -339,7 +254,6 @@
) for suffix, embed in [
("_jdk_allmodules", True),
("_jdk_minimal", True),
- ("_dev_jdk", True),
("_notools", False),
("_nojdk", True),
]]
@@ -388,7 +302,6 @@
("", "_jdk_minimal"),
("_jdk_allmodules", "_jdk_allmodules"),
("_jdk_minimal", "_jdk_minimal"),
- ("_dev_jdk", "_dev_jdk"),
("_notools", "_notools"),
("_nojdk", "_nojdk"),
]]
@@ -649,16 +562,6 @@
"@android_tools_for_testing//:WORKSPACE",
"@bazel_skylib//:WORKSPACE",
"@com_google_protobuf//:WORKSPACE",
- "@openjdk11_darwin_aarch64_archive//:WORKSPACE",
- "@openjdk11_darwin_archive//:WORKSPACE",
- "@openjdk11_linux_archive//:WORKSPACE",
- "@openjdk11_windows_archive//:WORKSPACE",
- "@openjdk11_windows_arm64_archive//:WORKSPACE",
- "@openjdk_linux_aarch64_minimal//file",
- "@openjdk_linux_minimal//file",
- "@openjdk_macos_aarch64_minimal//file",
- "@openjdk_macos_x86_64_minimal//file",
- "@openjdk_win_minimal//file",
"@remote_coverage_tools//:WORKSPACE",
"@remote_java_tools_darwin_for_testing//:WORKSPACE",
"@remote_java_tools_for_testing//:WORKSPACE",
diff --git a/src/minimize_jdk.sh b/src/minimize_jdk.sh
index 1f89752..f7dc8a7 100755
--- a/src/minimize_jdk.sh
+++ b/src/minimize_jdk.sh
@@ -58,7 +58,7 @@
reduced/
# These are necessary for --host_jvm_debug to work.
cp bin/dt_socket.dll bin/jdwp.dll reduced/bin
- zip -r -9 ../reduced.zip reduced/
+ zip -q -X -r ../reduced.zip reduced/
cd ../..
mv "tmp.$$/reduced.zip" "$out"
rm -rf "tmp.$$"
@@ -79,7 +79,8 @@
else
cp lib/libdt_socket.so lib/libjdwp.so reduced/lib
fi
- GZIP=-9 tar -zcf ../reduced.tgz reduced
+ find reduced -exec touch -ht 198001010000 {} +
+ zip -q -X -r ../reduced.zip reduced/
cd ..
- mv reduced.tgz "$out"
+ mv reduced.zip "$out"
fi
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index ee97c61..21fbf38 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -1063,12 +1063,12 @@
srcs = ["bazel_bootstrap_distfile_test.sh"],
args = [
"$(location //:bazel-distfile)",
- "$(location //src:embedded_jdk_allmodules_cached)",
+ "$(location //src:embedded_jdk_allmodules)",
],
data = [
":test-deps",
"//:bazel-distfile",
- "//src:embedded_jdk_allmodules_cached",
+ "//src:embedded_jdk_allmodules",
"@bazel_tools//tools/bash/runfiles",
],
exec_compatible_with = ["//:highcpu_machine"],
@@ -1081,12 +1081,12 @@
srcs = ["bazel_bootstrap_distfile_test.sh"],
args = [
"$(location //:bazel-distfile-tar)",
- "$(location //src:embedded_jdk_allmodules_cached)",
+ "$(location //src:embedded_jdk_allmodules)",
],
data = [
":test-deps",
"//:bazel-distfile-tar",
- "//src:embedded_jdk_allmodules_cached",
+ "//src:embedded_jdk_allmodules",
"@bazel_tools//tools/bash/runfiles",
],
exec_compatible_with = ["//:highcpu_machine"],
diff --git a/src/test/shell/bazel/jdeps_test.sh b/src/test/shell/bazel/jdeps_test.sh
index 690c371..9851340 100755
--- a/src/test/shell/bazel/jdeps_test.sh
+++ b/src/test/shell/bazel/jdeps_test.sh
@@ -59,8 +59,8 @@
else
platform="linux"
fi
- cp $(rlocation io_bazel/src/allmodules_jdk.tar.gz) .
- tar xf allmodules_jdk.tar.gz || fail "Failed to extract JDK."
+ cp $(rlocation io_bazel/src/allmodules_jdk.zip) .
+ unzip allmodules_jdk.zip || fail "Failed to extract JDK."
denylist=$(rlocation io_bazel/src/test/shell/bazel/jdeps_class_denylist.txt)
deploy_jar=$(rlocation io_bazel/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar)
cd ../bazeljar
diff --git a/src/test/shell/integration/bazel_command_log_test.sh b/src/test/shell/integration/bazel_command_log_test.sh
index 5b97c0e..9e06eac 100755
--- a/src/test/shell/integration/bazel_command_log_test.sh
+++ b/src/test/shell/integration/bazel_command_log_test.sh
@@ -45,6 +45,7 @@
-e '/^WARNING: Waiting for server process to terminate (waited 5 seconds, waiting at most 60)$/d' \
-e '/^WARNING: The startup option --host_javabase is deprecated; prefer --server_javabase.$/d' \
-e '/^WARNING: The home directory is not defined, no home_rc will be looked for.$/d' \
+ -e '/Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release/d' \
$TEST_log)
echo "$clean_log" > $TEST_log
diff --git a/src/test/shell/integration/py_args_escaping_test.sh b/src/test/shell/integration/py_args_escaping_test.sh
index e209c12..d964324 100755
--- a/src/test/shell/integration/py_args_escaping_test.sh
+++ b/src/test/shell/integration/py_args_escaping_test.sh
@@ -232,7 +232,7 @@
create_build_file_with_many_args "$ws"
( cd "$ws"
- bazel --batch run --verbose_failures :x &>"$TEST_log" \
+ bazel run --verbose_failures :x &>"$TEST_log" \
|| fail "expected success"
)
assert_good_output_of_the_program_with_many_args
diff --git a/src/test/shell/testenv.sh.tmpl b/src/test/shell/testenv.sh.tmpl
index fb8d963..b72cb96 100755
--- a/src/test/shell/testenv.sh.tmpl
+++ b/src/test/shell/testenv.sh.tmpl
@@ -291,11 +291,6 @@
"openjdk18_linux_archive"
"openjdk18_windows_archive"
"openjdk18_windows_arm64_archive"
- "openjdk_linux_aarch64_minimal"
- "openjdk_linux_minimal"
- "openjdk_macos_x86_64_minimal"
- "openjdk_macos_aarch64_minimal"
- "openjdk_win_minimal"
"remote_coverage_tools"
"remote_java_tools_for_testing"
"remote_java_tools_darwin_for_testing"