From ed27322aa5add7090773beb5ca499d869c89aba8 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 15 Sep 2023 15:16:12 -0700 Subject: [PATCH] Enable restat for kapt stubs rules The output of the kapt stubs rules only change when the public interface of a kotlin class changes, which makes them a good candidate for restat. This will prevent some unnecessary reruns of turbine annotation processing. Bug: 297356926 Test: builds Change-Id: I39bd63284fd37058f69a0a3dace1ea5f4f50e8b5 --- java/kotlin.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/kotlin.go b/java/kotlin.go index 3637e2e71..aa2db0ecd 100644 --- a/java/kotlin.go +++ b/java/kotlin.go @@ -145,7 +145,7 @@ var kaptStubs = pctx.AndroidRemoteStaticRule("kaptStubs", android.RemoteRuleSupp `$kaptProcessorPath ` + `$kaptProcessor ` + `-Xbuild-file=$kotlinBuildFile && ` + - `${config.SoongZipCmd} -jar -o $out -C $kaptDir/stubs -D $kaptDir/stubs && ` + + `${config.SoongZipCmd} -jar -write_if_changed -o $out -C $kaptDir/stubs -D $kaptDir/stubs && ` + `rm -rf "$srcJarDir"`, CommandDeps: []string{ "${config.KotlincCmd}", @@ -157,6 +157,7 @@ var kaptStubs = pctx.AndroidRemoteStaticRule("kaptStubs", android.RemoteRuleSupp }, Rspfile: "$out.rsp", RspfileContent: `$in`, + Restat: true, }, "kotlincFlags", "encodedJavacFlags", "kaptProcessorPath", "kaptProcessor", "classpath", "srcJars", "commonSrcFilesArg", "srcJarDir", "kaptDir", "kotlinJvmTarget",