diff options
author | 2025-03-06 20:37:32 -0800 | |
---|---|---|
committer | 2025-03-06 20:37:32 -0800 | |
commit | 3c0a4a3330950ea7ea54a21ca3cc8e665913ab13 (patch) | |
tree | fe8122d05a387771ce42de6236051615d9d88703 /java/kotlin.go | |
parent | 42c91b0e8a47827eeef6986b16f35a8a6a63d9a0 (diff) | |
parent | 4f374518f9797267c7067be128ab2a87dd984370 (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.go | 16 |
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, }, }) |