From c2d504873f19e6f1d648878d21d3dd17f5742b05 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 17 Mar 2022 12:01:27 -0700 Subject: [PATCH] Prevent kotlinc from reading /tmp/build.txt Pass -Didea.plugins.compatible.build=999.SNAPSHOT to kotlinc and kapt to prevent it from reading /tmp/build.txt and failing with an obscure exception: exception: java.lang.ExceptionInInitializerError at com.intellij.openapi.util.BuildNumber.currentVersion(BuildNumber.java:297) ... Bug: 222162908 Test: m metalava with /tmp/build.txt present Change-Id: I5faced4a2e94561ce3aa37bfaacf5bd7d988a4f0 --- java/config/kotlin.go | 5 +++++ java/kotlin.go | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/java/config/kotlin.go b/java/config/kotlin.go index 6cb61f306..a83f87fb3 100644 --- a/java/config/kotlin.go +++ b/java/config/kotlin.go @@ -47,4 +47,9 @@ func init() { pctx.StaticVariable("KotlincSuppressJDK9Warnings", strings.Join([]string{ "-J--add-opens=java.base/java.util=ALL-UNNAMED", // https://youtrack.jetbrains.com/issue/KT-43704 }, " ")) + + pctx.StaticVariable("KotlincGlobalFlags", strings.Join([]string{ + // b/222162908: prevent kotlinc from reading /tmp/build.txt + "-Didea.plugins.compatible.build=999.SNAPSHOT", + }, " ")) } diff --git a/java/kotlin.go b/java/kotlin.go index e4f1bc198..3e5cec04c 100644 --- a/java/kotlin.go +++ b/java/kotlin.go @@ -34,7 +34,8 @@ var kotlinc = pctx.AndroidRemoteStaticRule("kotlinc", android.RemoteRuleSupports `${config.GenKotlinBuildFileCmd} --classpath "$classpath" --name "$name"` + ` --out_dir "$classesDir" --srcs "$out.rsp" --srcs "$srcJarDir/list"` + ` $commonSrcFilesArg --out "$kotlinBuildFile" && ` + - `${config.KotlincCmd} ${config.KotlincSuppressJDK9Warnings} ${config.JavacHeapFlags} ` + + `${config.KotlincCmd} ${config.KotlincGlobalFlags} ` + + `${config.KotlincSuppressJDK9Warnings} ${config.JavacHeapFlags} ` + `$kotlincFlags -jvm-target $kotlinJvmTarget -Xbuild-file=$kotlinBuildFile ` + `-kotlin-home $emptyDir && ` + `${config.SoongZipCmd} -jar -o $out -C $classesDir -D $classesDir && ` + @@ -125,7 +126,8 @@ var kapt = pctx.AndroidRemoteStaticRule("kapt", android.RemoteRuleSupports{Goma: `${config.GenKotlinBuildFileCmd} --classpath "$classpath" --name "$name"` + ` --srcs "$out.rsp" --srcs "$srcJarDir/list"` + ` $commonSrcFilesArg --out "$kotlinBuildFile" && ` + - `${config.KotlincCmd} ${config.KaptSuppressJDK9Warnings} ${config.KotlincSuppressJDK9Warnings} ` + + `${config.KotlincCmd} ${config.KotlincGlobalFlags} ` + + `${config.KaptSuppressJDK9Warnings} ${config.KotlincSuppressJDK9Warnings} ` + `${config.JavacHeapFlags} $kotlincFlags -Xplugin=${config.KotlinKaptJar} ` + `-P plugin:org.jetbrains.kotlin.kapt3:sources=$kaptDir/sources ` + `-P plugin:org.jetbrains.kotlin.kapt3:classes=$kaptDir/classes ` +