summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2019-10-31 15:22:57 -0700
committer Colin Cross <ccross@android.com> 2019-11-07 02:05:06 +0000
commitc2557d1d566c9b0775a35c7a6d19e5513bf666b5 (patch)
tree4eb28e8162f23113d7040d6e566d2032ed1748ea /java
parentc48ea97c9c8b7395c645f83b8b825012657c0c0a (diff)
Fix turbine classpath arguments
We were passing "--classpath foo.jar --classpath bar.jar" to turbine, it now wants (and may always have expected?) "--classpath foo.jar bar.jar". Test: m checkbuild Change-Id: Ib7e0ca64a34e236110f7b785d6a0fb51ed75567e
Diffstat (limited to 'java')
-rw-r--r--java/builder.go18
-rw-r--r--java/dex.go4
-rw-r--r--java/kotlin.go2
3 files changed, 16 insertions, 8 deletions
diff --git a/java/builder.go b/java/builder.go
index b5dc88a66..417a7fa54 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -313,7 +313,7 @@ func TransformJavaToHeaderClasses(ctx android.ModuleContext, outputFile android.
// ensure turbine does not fall back to the default bootclasspath.
bootClasspath = `--bootclasspath ""`
} else {
- bootClasspath = strings.Join(flags.bootClasspath.FormTurbineClasspath("--bootclasspath "), " ")
+ bootClasspath = flags.bootClasspath.FormTurbineClassPath("--bootclasspath ")
}
}
@@ -330,7 +330,7 @@ func TransformJavaToHeaderClasses(ctx android.ModuleContext, outputFile android.
"javacFlags": flags.javacFlags,
"bootClasspath": bootClasspath,
"srcJars": strings.Join(srcJars.Strings(), " "),
- "classpath": strings.Join(classpath.FormTurbineClasspath("--classpath "), " "),
+ "classpath": classpath.FormTurbineClassPath("--classpath "),
"outDir": android.PathForModuleOut(ctx, "turbine", "classes").String(),
"javaVersion": flags.javaVersion.String(),
},
@@ -523,18 +523,26 @@ func TransformZipAlign(ctx android.ModuleContext, outputFile android.WritablePat
type classpath android.Paths
-func (x *classpath) FormJavaClassPath(optName string) string {
+func (x *classpath) formJoinedClassPath(optName string, sep string) string {
if optName != "" && !strings.HasSuffix(optName, "=") && !strings.HasSuffix(optName, " ") {
optName += " "
}
if len(*x) > 0 {
- return optName + strings.Join(x.Strings(), ":")
+ return optName + strings.Join(x.Strings(), sep)
} else {
return ""
}
}
+func (x *classpath) FormJavaClassPath(optName string) string {
+ return x.formJoinedClassPath(optName, ":")
+}
+
+func (x *classpath) FormTurbineClassPath(optName string) string {
+ return x.formJoinedClassPath(optName, " ")
+}
-func (x *classpath) FormTurbineClasspath(optName string) []string {
+// FormRepeatedClassPath returns a list of arguments with the given optName prefixed to each element of the classpath.
+func (x *classpath) FormRepeatedClassPath(optName string) []string {
if x == nil || *x == nil {
return nil
}
diff --git a/java/dex.go b/java/dex.go
index c8a4fa8ed..5b25b2175 100644
--- a/java/dex.go
+++ b/java/dex.go
@@ -85,8 +85,8 @@ func (j *Module) dexCommonFlags(ctx android.ModuleContext) []string {
func (j *Module) d8Flags(ctx android.ModuleContext, flags javaBuilderFlags) ([]string, android.Paths) {
d8Flags := j.dexCommonFlags(ctx)
- d8Flags = append(d8Flags, flags.bootClasspath.FormTurbineClasspath("--lib ")...)
- d8Flags = append(d8Flags, flags.classpath.FormTurbineClasspath("--lib ")...)
+ d8Flags = append(d8Flags, flags.bootClasspath.FormRepeatedClassPath("--lib ")...)
+ d8Flags = append(d8Flags, flags.classpath.FormRepeatedClassPath("--lib ")...)
var d8Deps android.Paths
d8Deps = append(d8Deps, flags.bootClasspath...)
diff --git a/java/kotlin.go b/java/kotlin.go
index aa653145a..5319a4ff9 100644
--- a/java/kotlin.go
+++ b/java/kotlin.go
@@ -133,7 +133,7 @@ func kotlinKapt(ctx android.ModuleContext, outputFile android.WritablePath,
deps = append(deps, srcJars...)
deps = append(deps, flags.processorPath...)
- kaptProcessorPath := flags.processorPath.FormTurbineClasspath("-P plugin:org.jetbrains.kotlin.kapt3:apclasspath=")
+ kaptProcessorPath := flags.processorPath.FormRepeatedClassPath("-P plugin:org.jetbrains.kotlin.kapt3:apclasspath=")
kaptProcessor := ""
if flags.processor != "" {