Add java 17 compile toolchain
Change-Id: I92eef1fc4f63e855ddf24a5a7286f0b2fe8ec913
diff --git a/jdk17/BUILD b/jdk17/BUILD
index 188de3c..904f107 100644
--- a/jdk17/BUILD
+++ b/jdk17/BUILD
@@ -1,4 +1,4 @@
-load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "JDK9_JVM_OPTS", "default_java_toolchain")
+load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "BASE_JDK9_JVM_OPTS", "default_java_toolchain")
package(default_visibility = ["//visibility:public"])
@@ -24,27 +24,25 @@
)
toolchain(
- name = "runtime_toolchain_definition",
+ name = "java_runtime_toolchain",
target_settings = [":jdk17_name_setting"],
toolchain = ":jdk17_runtime",
toolchain_type = "@bazel_tools//tools/jdk:runtime_toolchain_type",
)
-JDK17_JVM_OPTS = JDK9_JVM_OPTS + [
- # jdk17 specific options (that would not be applied to jdk11 or jdk21)
- # for test only options, that are compatible with all jdk please use ./tools/base/bazel/common.bazelrc
+# import minimal options from default_java_toolchain.bzl to avoid --patch-module arguments
+# custom javac build hasn't been necessary since JDK 13, and it fails with JDK17
+# https://github.com/bazelbuild/bazel/issues/14474#issuecomment-1001071398
+JDK17_JVM_OPTS = BASE_JDK9_JVM_OPTS + [
+ "--add-opens=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED", # for buildjar.ReducedClasspathJavaLibraryBuilder
]
-default_java_toolchain(
- name = "jdk17_toolchain_java11",
- java_runtime = ":jdk17_runtime",
- jvm_opts = JDK17_JVM_OPTS,
- source_version = "11",
- target_version = "11",
-)
+# Commands usefull for for debugging java toolchain issues
+# bazel build --verbose_failures --subcommands=pretty_print --toolchain_resolution_debug=java /...
+# bazel query //prebuilts/studio/jdk/jdk17:java17_compile_toolchain --output=build
default_java_toolchain(
- name = "jdk17_toolchain_java17",
+ name = "java17_compile_toolchain",
java_runtime = ":jdk17_runtime",
jvm_opts = JDK17_JVM_OPTS,
source_version = "17",