summaryrefslogtreecommitdiff
path: root/java/kotlin.go
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-03-06 20:37:32 -0800
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2025-03-06 20:37:32 -0800
commit3c0a4a3330950ea7ea54a21ca3cc8e665913ab13 (patch)
treefe8122d05a387771ce42de6236051615d9d88703 /java/kotlin.go
parent42c91b0e8a47827eeef6986b16f35a8a6a63d9a0 (diff)
parent4f374518f9797267c7067be128ab2a87dd984370 (diff)
Merge changes I89007b5a,Ib027f868 into main
* changes: Put manifest in header jars merge_zips: fix compressed size and CRC32 fields for inserted manifests
Diffstat (limited to 'java/kotlin.go')
-rw-r--r--java/kotlin.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/java/kotlin.go b/java/kotlin.go
index 308bb0305..57d0802e4 100644
--- a/java/kotlin.go
+++ b/java/kotlin.go
@@ -40,8 +40,8 @@ var kotlinc = pctx.AndroidRemoteStaticRule("kotlinc", android.RemoteRuleSupports
` -kotlin-home $emptyDir ` +
` -Xplugin=${config.KotlinAbiGenPluginJar} ` +
` -P plugin:org.jetbrains.kotlin.jvm.abi:outputDir=$headerClassesDir && ` +
- `${config.SoongZipCmd} -jar -o $out -C $classesDir -D $classesDir -write_if_changed && ` +
- `${config.SoongZipCmd} -jar -o $headerJar -C $headerClassesDir -D $headerClassesDir -write_if_changed && ` +
+ `${config.SoongZipCmd} -jar $jarArgs -o $out -C $classesDir -D $classesDir -write_if_changed && ` +
+ `${config.SoongZipCmd} -jar $jarArgs -o $headerJar -C $headerClassesDir -D $headerClassesDir -write_if_changed && ` +
`rm -rf "$srcJarDir" "$classesDir" "$headerClassesDir"`,
CommandDeps: []string{
"${config.KotlincCmd}",
@@ -62,7 +62,7 @@ var kotlinc = pctx.AndroidRemoteStaticRule("kotlinc", android.RemoteRuleSupports
Restat: true,
},
"kotlincFlags", "classpath", "srcJars", "commonSrcFilesArg", "srcJarDir", "classesDir",
- "headerClassesDir", "headerJar", "kotlinJvmTarget", "kotlinBuildFile", "emptyDir", "name")
+ "headerClassesDir", "headerJar", "kotlinJvmTarget", "kotlinBuildFile", "emptyDir", "name", "jarArgs")
var kotlinKytheExtract = pctx.AndroidStaticRule("kotlinKythe",
blueprint.RuleParams{
@@ -104,8 +104,7 @@ func kotlinCommonSrcsList(ctx android.ModuleContext, commonSrcFiles android.Path
// kotlinCompile takes .java and .kt sources and srcJars, and compiles the .kt sources into a classes jar in outputFile.
func (j *Module) kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile android.WritablePath,
- srcFiles, commonSrcFiles, srcJars android.Paths,
- flags javaBuilderFlags) {
+ srcFiles, commonSrcFiles, srcJars android.Paths, flags javaBuilderFlags, manifest android.OptionalPath) {
var deps android.Paths
deps = append(deps, flags.kotlincClasspath...)
@@ -127,6 +126,12 @@ func (j *Module) kotlinCompile(ctx android.ModuleContext, outputFile, headerOutp
android.WriteFileRule(ctx, classpathRspFile, strings.Join(flags.kotlincClasspath.Strings(), " "))
deps = append(deps, classpathRspFile)
+ var jarArgs string
+ if manifest.Valid() {
+ jarArgs = "-m " + manifest.Path().String()
+ deps = append(deps, manifest.Path())
+ }
+
ctx.Build(pctx, android.BuildParams{
Rule: kotlinc,
Description: "kotlinc",
@@ -147,6 +152,7 @@ func (j *Module) kotlinCompile(ctx android.ModuleContext, outputFile, headerOutp
"emptyDir": android.PathForModuleOut(ctx, "kotlinc", "empty").String(),
"kotlinJvmTarget": flags.javaVersion.StringForKotlinc(),
"name": kotlinName,
+ "jarArgs": jarArgs,
},
})