From 891e7c01746343142eef1325049332d5c9e1c60e Mon Sep 17 00:00:00 2001 From: Lai Jiang Date: Wed, 24 Jan 2024 13:26:45 -0500 Subject: [PATCH] Make Kythe work with Java 17 (#2293) TESTED=submitted a GCB job locally and it ran successfully. --- build.gradle | 24 ++++++++++++++++++++++++ core/Dockerfile | 2 +- release/cloudbuild-kythe.yaml | 6 ++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6f86ccd4c..e0418d2cc 100644 --- a/build.gradle +++ b/build.gradle @@ -211,6 +211,30 @@ allprojects { options.fork = true options.forkOptions.executable = file("${System.env.JAVA_HOME}/bin/javac") + options.compilerArgs = ["--add-exports", + "jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", + "--add-exports", + "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"] + options.forkOptions.jvmArgs = ["-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", + "-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"] } } } diff --git a/core/Dockerfile b/core/Dockerfile index 5f919798f..8557311f6 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,3 +1,3 @@ -FROM gcr.io/distroless/java:debug +FROM gcr.io/distroless/java17-debian11:debug ADD build/libs/nomulus.jar /nomulus.jar ENTRYPOINT ["/usr/bin/java", "-jar", "/nomulus.jar"] diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index 5c26b016f..d36012987 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -29,6 +29,12 @@ steps: mv $${JAVA_HOME}/bin/javac $${JAVA_HOME}/bin/javac.real cp ./kythe/extractors/javac-wrapper.sh $${JAVA_HOME}/bin/javac export JAVAC_EXTRACTOR_JAR="$${PWD}/kythe/extractors/javac_extractor.jar" + jvmopts="--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED" + jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" + jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED" + jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" + jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" + export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output"