Merge pull request #58 from comius:update-default_java_toolchain PiperOrigin-RevId: 462327471 Change-Id: I887a915d583e60357e22898b55d087e4a7f85606
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index b416cb8..14a162a 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml
@@ -21,6 +21,18 @@ build_targets: *build_targets windows: build_targets: *build_targets + ubuntu2004_head: + bazel: last_green + platform: ubuntu2004 + build_targets: *build_targets + macos_head: + bazel: last_green + platform: macos + build_targets: *build_targets + windows_head: + bazel: last_green + platform: windows + build_targets: *build_targets ubuntu2004_bzlmod: bazel: last_green platform: ubuntu2004
diff --git a/java/repositories.bzl b/java/repositories.bzl index eba6a7a..ff542e4 100644 --- a/java/repositories.bzl +++ b/java/repositories.bzl
@@ -160,10 +160,11 @@ "@platforms//os:linux", "@platforms//cpu:x86_64", ], - sha256 = "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3", - strip_prefix = "zulu11.50.19-ca-jdk11.0.12-linux_x64", + sha256 = "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + strip_prefix = "zulu11.56.19-ca-jdk11.0.15-linux_x64", urls = [ - "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", ], version = "11", ) @@ -175,10 +176,11 @@ "@platforms//os:linux", "@platforms//cpu:aarch64", ], - sha256 = "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb", - strip_prefix = "zulu11.50.19-ca-jdk11.0.12-linux_aarch64", + sha256 = "fc7c41a0005180d4ca471c90d01e049469e0614cf774566d4cf383caa29d1a97", + strip_prefix = "zulu11.56.19-ca-jdk11.0.15-linux_aarch64", urls = [ - "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", ], version = "11", ) @@ -190,11 +192,11 @@ "@platforms//os:linux", "@platforms//cpu:ppc", ], - sha256 = "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", - strip_prefix = "jdk-11.0.7+10", + sha256 = "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + strip_prefix = "jdk-11.0.15+10", urls = [ - "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", - "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", ], version = "11", ) @@ -206,11 +208,11 @@ "@platforms//os:linux", "@platforms//cpu:s390x", ], - sha256 = "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", - strip_prefix = "jdk-11.0.7+10", + sha256 = "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + strip_prefix = "jdk-11.0.15+10", urls = [ - "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", - "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", ], version = "11", ) @@ -222,10 +224,11 @@ "@platforms//os:macos", "@platforms//cpu:x86_64", ], - sha256 = "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7", - strip_prefix = "zulu11.50.19-ca-jdk11.0.12-macosx_x64", + sha256 = "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + strip_prefix = "zulu11.56.19-ca-jdk11.0.15-macosx_x64", urls = [ - "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", ], version = "11", ) @@ -237,11 +240,11 @@ "@platforms//os:macos", "@platforms//cpu:aarch64", ], - sha256 = "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17", + sha256 = "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", strip_prefix = "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64", urls = [ - "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", ], version = "11", ) @@ -253,10 +256,26 @@ "@platforms//os:windows", "@platforms//cpu:x86_64", ], - sha256 = "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015", - strip_prefix = "zulu11.50.19-ca-jdk11.0.12-win_x64", + sha256 = "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + strip_prefix = "zulu11.56.19-ca-jdk11.0.15-win_x64", urls = [ - "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + ], + version = "11", + ) + + maybe( + remote_java_repository, + name = "remotejdk11_win_arm64", + target_compatible_with = [ + "@platforms//os:windows", + "@platforms//cpu:arm64", + ], + sha256 = "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + strip_prefix = "jdk-11.0.13+8", + urls = [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip", ], version = "11", ) @@ -402,11 +421,11 @@ "@platforms//os:linux", "@platforms//cpu:x86_64", ], - sha256 = "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56", - strip_prefix = "zulu17.28.13-ca-jdk17.0.0-linux_x64", + sha256 = "73d5c4bae20325ca41b606f7eae64669db3aac638c5b3ead4a975055846ad6de", + strip_prefix = "zulu17.32.13-ca-jdk17.0.2-linux_x64", urls = [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-linux_x64.tar.gz", ], version = "17", ) @@ -418,11 +437,11 @@ "@platforms//os:macos", "@platforms//cpu:x86_64", ], - sha256 = "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d", - strip_prefix = "zulu17.28.13-ca-jdk17.0.0-macosx_x64", + sha256 = "89d04b2d99b05dcb25114178e65f6a1c5ca742e125cab0a63d87e7e42f3fcb80", + strip_prefix = "zulu17.32.13-ca-jdk17.0.2-macosx_x64", urls = [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-macosx_x64.tar.gz", ], version = "17", ) @@ -434,15 +453,14 @@ "@platforms//os:macos", "@platforms//cpu:aarch64", ], - sha256 = "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0", - strip_prefix = "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64", + sha256 = "54247dde248ffbcd3c048675504b1c503b81daf2dc0d64a79e353c48d383c977", + strip_prefix = "zulu17.32.13-ca-jdk17.0.2-macosx_aarch64", urls = [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-macosx_aarch64.tar.gz", ], version = "17", ) - maybe( remote_java_repository, name = "remotejdk17_win", @@ -450,11 +468,26 @@ "@platforms//os:windows", "@platforms//cpu:x86_64", ], - sha256 = "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3", - strip_prefix = "zulu17.28.13-ca-jdk17.0.0-win_x64", + sha256 = "e965aa0ea7a0661a3446cf8f10ee00684b851f883b803315289f26b4aa907fdb", + strip_prefix = "zulu17.32.13-ca-jdk17.0.2-win_x64", urls = [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip", - "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip", + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.32.13-ca-jdk17.0.2-win_x64.zip", + ], + version = "17", + ) + maybe( + remote_java_repository, + name = "remotejdk17_win_arm64", + target_compatible_with = [ + "@platforms//os:windows", + "@platforms//cpu:arm64", + ], + sha256 = "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + strip_prefix = "zulu17.30.15-ca-jdk17.0.1-win_aarch64", + urls = [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", ], version = "17", )
diff --git a/toolchains/default_java_toolchain.bzl b/toolchains/default_java_toolchain.bzl index e5f4443..abb68ba 100644 --- a/toolchains/default_java_toolchain.bzl +++ b/toolchains/default_java_toolchain.bzl
@@ -1,4 +1,4 @@ -# Copyright 2021 The Bazel Authors. All rights reserved. +# Copyright 2022 The Bazel Authors. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -42,19 +42,15 @@ "-Dsun.io.useCanonCaches=false", ] -JDK9_JVM_OPTS = BASE_JDK9_JVM_OPTS + [ - # override the javac in the JDK. - "--patch-module=java.compiler=$(location @remote_java_tools//:java_compiler_jar)", - "--patch-module=jdk.compiler=$(location @remote_java_tools//:jdk_compiler_jar)", -] +JDK9_JVM_OPTS = BASE_JDK9_JVM_OPTS DEFAULT_JAVACOPTS = [ "-XDskipDuplicateBridges=true", "-XDcompilePolicy=simple", "-g", "-parameters", - # https://github.com/bazelbuild/java_tools/issues/51#issuecomment-927940699 - "-XepOpt:ReturnValueIgnored:ObjectMethods=false", + # https://github.com/bazelbuild/bazel/issues/15219 + "-Xep:ReturnValueIgnored:OFF", ] # java_toolchain parameters without specifying javac, java.compiler, @@ -90,10 +86,6 @@ # Turbine is not a worker and parallel GC is faster for short-lived programs. "-XX:+UseParallelOldGC", ], - tools = [ - "@remote_java_tools//:java_compiler_jar", - "@remote_java_tools//:jdk_compiler_jar", - ], java_runtime = "//toolchains:remote_jdk11", ) @@ -129,10 +121,6 @@ # Turbine is not a worker and parallel GC is faster for short-lived programs. "-XX:+UseParallelOldGC", ], - tools = [ - "@remote_java_tools//:java_compiler_jar", - "@remote_java_tools//:jdk_compiler_jar", - ], ijar = ["//toolchains:ijar_prebuilt_binary"], singlejar = ["//toolchains:prebuilt_singlejar"], java_runtime = "//toolchains:remote_jdk11", @@ -148,10 +136,6 @@ # Turbine is not a worker and parallel GC is faster for short-lived programs. "-XX:+UseParallelOldGC", ], - tools = [ - "@remote_java_tools//:java_compiler_jar", - "@remote_java_tools//:jdk_compiler_jar", - ], ijar = ["@remote_java_tools//:ijar_cc_binary"], singlejar = ["@remote_java_tools//:singlejar_cc_bin"], java_runtime = "//toolchains:remote_jdk11", @@ -206,16 +190,7 @@ def _bootclasspath_impl(ctx): host_javabase = ctx.attr.host_javabase[java_common.JavaRuntimeInfo] - # explicitly list output files instead of using TreeArtifact to work around - # https://github.com/bazelbuild/bazel/issues/6203 - classes = [ - "DumpPlatformClassPath.class", - ] - - class_outputs = [ - ctx.actions.declare_file("%s_classes/%s" % (ctx.label.name, clazz)) - for clazz in classes - ] + class_dir = ctx.actions.declare_directory("%s_classes" % ctx.label.name) args = ctx.actions.args() args.add("-source") @@ -226,20 +201,20 @@ args.add("-cp") args.add("%s/lib/tools.jar" % host_javabase.java_home) args.add("-d") - args.add(class_outputs[0].dirname) + args.add_all([class_dir], expand_directories = False) args.add(ctx.file.src) ctx.actions.run( executable = "%s/bin/javac" % host_javabase.java_home, mnemonic = "JavaToolchainCompileClasses", inputs = [ctx.file.src] + ctx.files.host_javabase, - outputs = class_outputs, + outputs = [class_dir], arguments = [args], ) bootclasspath = ctx.outputs.output_jar - inputs = class_outputs + ctx.files.host_javabase + inputs = [class_dir] + ctx.files.host_javabase args = ctx.actions.args() args.add("-XX:+IgnoreUnrecognizedVMOptions") @@ -248,8 +223,9 @@ args.add("--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED") args.add_joined( "-cp", - [class_outputs[0].dirname, "%s/lib/tools.jar" % host_javabase.java_home], + [class_dir, "%s/lib/tools.jar" % host_javabase.java_home], join_with = ctx.configuration.host_path_separator, + expand_directories = False, ) args.add("DumpPlatformClassPath") args.add(bootclasspath)
diff --git a/toolchains/local_java_repository.bzl b/toolchains/local_java_repository.bzl index 7587022..4adb1bb 100644 --- a/toolchains/local_java_repository.bzl +++ b/toolchains/local_java_repository.bzl
@@ -58,10 +58,10 @@ visibility: Visibility that will be applied to the java runtime target """ - # The repository name in Bzlmod will be "<module canonical name>.<module extension name>.local_jdk" + # The repository name in Bzlmod will be "@~<module canonical name>~<module extension name>~local_jdk" # instead of "local_jdk", therefore we cannot just use it as the config_setting value, # because it won't match the default value of --java_runtime_version (which is "local_jdk"). - name = name.split(".")[-1] + name = name.split("~")[-1] if runtime_name == None: runtime_name = name @@ -89,9 +89,9 @@ native.alias( name = name + "_settings_alias", actual = select({ - name + "_name_setting": name + "_name_setting", - name + "_version_setting": name + "_version_setting", - "//conditions:default": name + "_name_version_setting", + ":" + name + "_name_setting": ":" + name + "_name_setting", + ":" + name + "_version_setting": ":" + name + "_version_setting", + "//conditions:default": ":" + name + "_name_version_setting", }), visibility = ["//visibility:private"], )