From 0f40a7527a6f14a56e0cc14a10bca3122c6461de Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Sat, 8 Sep 2018 11:52:49 -0700 Subject: [PATCH] Move kotlinc-build.xml out of classes directory kotlinc-build.xml was ending up in the final jar because it was being created in the directory where the classes were written. Rename the variable containing the classes directory from outDir to classesDir to discourage putting other files in there, and move kotlinc-build.xml up a directory. Bug: 114524493 Test: m checkbuild Change-Id: Id2e2af0a6543499bd25b8fbd642bc59b14bd241f --- java/builder.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/java/builder.go b/java/builder.go index c645ee2df..bb1590aec 100644 --- a/java/builder.go +++ b/java/builder.go @@ -61,12 +61,12 @@ var ( kotlinc = pctx.AndroidGomaStaticRule("kotlinc", blueprint.RuleParams{ - Command: `rm -rf "$outDir" "$srcJarDir" && mkdir -p "$outDir" "$srcJarDir" && ` + + Command: `rm -rf "$classesDir" "$srcJarDir" "$kotlinBuildFile" && mkdir -p "$classesDir" "$srcJarDir" && ` + `${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` + - `${config.GenKotlinBuildFileCmd} $classpath $outDir $out.rsp $srcJarDir/list > $outDir/kotlinc-build.xml &&` + + `${config.GenKotlinBuildFileCmd} $classpath $classesDir $out.rsp $srcJarDir/list > $kotlinBuildFile &&` + `${config.KotlincCmd} $kotlincFlags ` + - `-jvm-target $kotlinJvmTarget -Xbuild-file=$outDir/kotlinc-build.xml && ` + - `${config.SoongZipCmd} -jar -o $out -C $outDir -D $outDir`, + `-jvm-target $kotlinJvmTarget -Xbuild-file=$kotlinBuildFile && ` + + `${config.SoongZipCmd} -jar -o $out -C $classesDir -D $classesDir`, CommandDeps: []string{ "${config.KotlincCmd}", "${config.KotlinCompilerJar}", @@ -77,7 +77,7 @@ var ( Rspfile: "$out.rsp", RspfileContent: `$in`, }, - "kotlincFlags", "classpath", "srcJars", "srcJarDir", "outDir", "kotlinJvmTarget") + "kotlincFlags", "classpath", "srcJars", "srcJarDir", "classesDir", "kotlinJvmTarget", "kotlinBuildFile") turbine = pctx.AndroidStaticRule("turbine", blueprint.RuleParams{ @@ -173,11 +173,12 @@ func TransformKotlinToClasses(ctx android.ModuleContext, outputFile android.Writ Inputs: inputs, Implicits: deps, Args: map[string]string{ - "classpath": flags.kotlincClasspath.FormJavaClassPath("-classpath"), - "kotlincFlags": flags.kotlincFlags, - "srcJars": strings.Join(srcJars.Strings(), " "), - "outDir": android.PathForModuleOut(ctx, "kotlinc", "classes").String(), - "srcJarDir": android.PathForModuleOut(ctx, "kotlinc", "srcJars").String(), + "classpath": flags.kotlincClasspath.FormJavaClassPath("-classpath"), + "kotlincFlags": flags.kotlincFlags, + "srcJars": strings.Join(srcJars.Strings(), " "), + "classesDir": android.PathForModuleOut(ctx, "kotlinc", "classes").String(), + "srcJarDir": android.PathForModuleOut(ctx, "kotlinc", "srcJars").String(), + "kotlinBuildFile": android.PathForModuleOut(ctx, "kotlinc-build.xml").String(), // http://b/69160377 kotlinc only supports -jvm-target 1.6 and 1.8 "kotlinJvmTarget": "1.8", },