From b154650edd718154b2f3574fee59f499b08e5911 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Thu, 30 Apr 2026 09:55:31 +0000 Subject: [PATCH 1/8] Pass KYTHE_JAVA_RUNTIME_OPTIONS via Gradle forkOptions --- java_common.gradle | 4 ++++ release/cloudbuild-kythe.yaml | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/java_common.gradle b/java_common.gradle index bd7622e1ece..c721849bbe8 100644 --- a/java_common.gradle +++ b/java_common.gradle @@ -102,6 +102,10 @@ tasks.withType(Test).configureEach { } tasks.withType(JavaCompile).configureEach { + options.fork = true + options.forkOptions.environment += [ + "KYTHE_JAVA_RUNTIME_OPTIONS": "--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" + ] // The -Werror flag causes Intellij to fail on deprecated api use. // Allow IDE user to turn off this flag by specifying a Gradle VM // option from inside the IDE. diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index e39f123bbf6..ae2266597e7 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -36,7 +36,6 @@ steps: 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" jvmopts="$${jvmopts} --add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED" - jvmopts="$${jvmopts} -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" From f79e3af9eaaded1433f202686e4501a25693f80b Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Fri, 1 May 2026 10:26:57 +0000 Subject: [PATCH 2/8] Use forkOptions.jvmArgs instead of environment in Gradle --- java_common.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java_common.gradle b/java_common.gradle index c721849bbe8..40b11408786 100644 --- a/java_common.gradle +++ b/java_common.gradle @@ -103,9 +103,7 @@ tasks.withType(Test).configureEach { tasks.withType(JavaCompile).configureEach { options.fork = true - options.forkOptions.environment += [ - "KYTHE_JAVA_RUNTIME_OPTIONS": "--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" - ] + options.forkOptions.jvmArgs += ['--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED'] // The -Werror flag causes Intellij to fail on deprecated api use. // Allow IDE user to turn off this flag by specifying a Gradle VM // option from inside the IDE. From 6bf98c3041dee4e80bab3233bf651a7ce1e31e35 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Fri, 1 May 2026 11:03:16 +0000 Subject: [PATCH 3/8] Use compilerArgs with -J for Kythe extraction --- java_common.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java_common.gradle b/java_common.gradle index 40b11408786..68c11347aab 100644 --- a/java_common.gradle +++ b/java_common.gradle @@ -103,7 +103,7 @@ tasks.withType(Test).configureEach { tasks.withType(JavaCompile).configureEach { options.fork = true - options.forkOptions.jvmArgs += ['--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED'] + options.compilerArgs += ['-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED'] // The -Werror flag causes Intellij to fail on deprecated api use. // Allow IDE user to turn off this flag by specifying a Gradle VM // option from inside the IDE. From c2ccbb63a2e9957559d45e1c8cfa24d11f6e12e4 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Fri, 1 May 2026 11:52:03 +0000 Subject: [PATCH 4/8] Apply sed hack to javac-wrapper.sh and revert Gradle changes --- java_common.gradle | 2 -- release/cloudbuild-kythe.yaml | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/java_common.gradle b/java_common.gradle index 68c11347aab..bd7622e1ece 100644 --- a/java_common.gradle +++ b/java_common.gradle @@ -102,8 +102,6 @@ tasks.withType(Test).configureEach { } tasks.withType(JavaCompile).configureEach { - options.fork = true - options.compilerArgs += ['-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED'] // The -Werror flag causes Intellij to fail on deprecated api use. // Allow IDE user to turn off this flag by specifying a Gradle VM // option from inside the IDE. diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index ae2266597e7..cb21113506d 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -28,6 +28,8 @@ steps: export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) mv $${JAVA_HOME}/bin/javac $${JAVA_HOME}/bin/javac.real cp ./kythe/extractors/javac-wrapper.sh $${JAVA_HOME}/bin/javac + chmod +x $${JAVA_HOME}/bin/javac + sed -i 's/"$REAL_JAVAC" "$@"/ "$REAL_JAVAC" $REAL_JAVAC_JVM_OPTIONS "$@"/g' $${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" @@ -37,6 +39,7 @@ steps: jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" jvmopts="$${jvmopts} --add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED" export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} + export REAL_JAVAC_JVM_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output" From 6726ca366ced50a1ab1a06bc40b3c0ec9b821846 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Sat, 2 May 2026 20:55:02 +0000 Subject: [PATCH 5/8] Revert all Kythe fix attempts in Cloud Build --- release/cloudbuild-kythe.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index cb21113506d..ae2266597e7 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -28,8 +28,6 @@ steps: export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) mv $${JAVA_HOME}/bin/javac $${JAVA_HOME}/bin/javac.real cp ./kythe/extractors/javac-wrapper.sh $${JAVA_HOME}/bin/javac - chmod +x $${JAVA_HOME}/bin/javac - sed -i 's/"$REAL_JAVAC" "$@"/ "$REAL_JAVAC" $REAL_JAVAC_JVM_OPTIONS "$@"/g' $${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" @@ -39,7 +37,6 @@ steps: jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" jvmopts="$${jvmopts} --add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED" export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} - export REAL_JAVAC_JVM_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output" From 3fef6495861276f22c0e3f64d90b0151b39daef6 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Sat, 2 May 2026 21:10:32 +0000 Subject: [PATCH 6/8] Apply sed hack to cloudbuild-kythe.yaml with double dollars --- release/cloudbuild-kythe.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index ae2266597e7..e8142ced239 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -28,6 +28,7 @@ steps: export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) mv $${JAVA_HOME}/bin/javac $${JAVA_HOME}/bin/javac.real cp ./kythe/extractors/javac-wrapper.sh $${JAVA_HOME}/bin/javac + sed -i 's/"$$REAL_JAVAC" "$$@"/ "$$REAL_JAVAC" $$REAL_JAVAC_JVM_OPTIONS "$$@"/g' $${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" @@ -37,6 +38,7 @@ steps: jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" jvmopts="$${jvmopts} --add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED" export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} + export REAL_JAVAC_JVM_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output" From 9a88d5593355f1622ded63c0edaac2dced264802 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Sun, 3 May 2026 08:10:35 +0000 Subject: [PATCH 7/8] Use JDK_JAVA_OPTIONS for Kythe extraction --- release/cloudbuild-kythe.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index e8142ced239..5e8096f5419 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -28,7 +28,6 @@ steps: export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) mv $${JAVA_HOME}/bin/javac $${JAVA_HOME}/bin/javac.real cp ./kythe/extractors/javac-wrapper.sh $${JAVA_HOME}/bin/javac - sed -i 's/"$$REAL_JAVAC" "$$@"/ "$$REAL_JAVAC" $$REAL_JAVAC_JVM_OPTIONS "$$@"/g' $${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" @@ -38,12 +37,12 @@ steps: jvmopts="$${jvmopts} --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" jvmopts="$${jvmopts} --add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED" export KYTHE_JAVA_RUNTIME_OPTIONS=$${jvmopts} - export REAL_JAVAC_JVM_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" export KYTHE_VNAMES="$${PWD}/vnames.json" export KYTHE_ROOT_DIRECTORY="$${PWD}" export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output" mkdir -p $${KYTHE_OUTPUT_DIRECTORY} mkdir -p $${KYTHE_OUTPUT_DIRECTORY}/merged + export JDK_JAVA_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED" ./release/install_gradle.sh ./gradlew clean testClasses \ -Dno_werror=true -PenableCrossReferencing=true From 8db507291c084cf657c818e8ca8c2f927e5b0c33 Mon Sep 17 00:00:00 2001 From: Harshita Sharma Date: Sun, 3 May 2026 09:21:15 +0000 Subject: [PATCH 8/8] Use JAVA_TOOL_OPTIONS for Kythe extraction --- release/cloudbuild-kythe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/cloudbuild-kythe.yaml b/release/cloudbuild-kythe.yaml index 5e8096f5419..e1a319af9d9 100644 --- a/release/cloudbuild-kythe.yaml +++ b/release/cloudbuild-kythe.yaml @@ -42,7 +42,7 @@ steps: export KYTHE_OUTPUT_DIRECTORY="$${PWD}/kythe_output" mkdir -p $${KYTHE_OUTPUT_DIRECTORY} mkdir -p $${KYTHE_OUTPUT_DIRECTORY}/merged - export JDK_JAVA_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED" + export JAVA_TOOL_OPTIONS="--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED" ./release/install_gradle.sh ./gradlew clean testClasses \ -Dno_werror=true -PenableCrossReferencing=true