Use pre-desugar classes in classpath
Follow the make change in I87aee34940937dbde33a977f55d1faf2c8054561
to use classes before desugar in the classpath.
Test: java_test.go
Change-Id: I1054f4aea1eb349b6f687e1af0adb92a944fd8c5
diff --git a/java/java.go b/java/java.go
index f9193c5..06ba44d 100644
--- a/java/java.go
+++ b/java/java.go
@@ -449,12 +449,12 @@
manifest := android.OptionalPathForModuleSrc(ctx, j.properties.Manifest)
// Combine the classes built from sources, any manifests, and any static libraries into
- // classes-combined.jar. If there is only one input jar this step will be skipped.
+ // classes.jar. If there is only one input jar this step will be skipped.
outputFile := TransformJarsToJar(ctx, "classes.jar", jars, manifest, false)
if j.properties.Jarjar_rules != nil {
jarjar_rules := android.PathForModuleSrc(ctx, *j.properties.Jarjar_rules)
- // Transform classes-combined.jar into classes-jarjar.jar
+ // Transform classes.jar into classes-jarjar.jar
outputFile = TransformJarJar(ctx, outputFile, jarjar_rules)
if ctx.Failed() {
return
@@ -517,10 +517,6 @@
return
}
- // TODO(ccross): For now, use the desugared jar as the classpath file. Eventually this
- // might cause problems because desugar wants non-desugared jars in its class path.
- j.classpathFile = desugarJar
-
// Compile classes.jar into classes.dex
dexJarFile := TransformClassesJarToDexJar(ctx, desugarJar, flags)
if ctx.Failed() {
diff --git a/java/java_test.go b/java/java_test.go
index 7159e3f..a757a9f 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -111,7 +111,7 @@
case strings.HasSuffix(name, ".jar"):
return name
default:
- return filepath.Join(buildDir, ".intermediates", name, "android_common", "classes-desugar.jar")
+ return filepath.Join(buildDir, ".intermediates", name, "android_common", "classes-compiled.jar")
}
}
@@ -142,8 +142,8 @@
t.Errorf(`foo inputs %v != ["a.java"]`, javac.Inputs)
}
- bar := filepath.Join(buildDir, ".intermediates", "bar", "android_common", "classes-desugar.jar")
- baz := filepath.Join(buildDir, ".intermediates", "baz", "android_common", "classes-desugar.jar")
+ bar := filepath.Join(buildDir, ".intermediates", "bar", "android_common", "classes-compiled.jar")
+ baz := filepath.Join(buildDir, ".intermediates", "baz", "android_common", "classes-compiled.jar")
if !strings.Contains(javac.Args["classpath"], bar) {
t.Errorf("foo classpath %v does not contain %q", javac.Args["classpath"], bar)
@@ -349,12 +349,12 @@
t.Errorf(`foo inputs %v != ["a.java"]`, javac.Inputs)
}
- bar := filepath.Join(buildDir, ".intermediates", "bar", "android_common", "classes-desugar.jar")
+ bar := filepath.Join(buildDir, ".intermediates", "bar", "android_common", "classes-compiled.jar")
if !strings.Contains(javac.Args["classpath"], bar) {
t.Errorf("foo classpath %v does not contain %q", javac.Args["classpath"], bar)
}
- baz := filepath.Join(buildDir, ".intermediates", "baz", "android_common", "classes-desugar.jar")
+ baz := filepath.Join(buildDir, ".intermediates", "baz", "android_common", "classes-compiled.jar")
if len(combineJar.Inputs) != 2 || combineJar.Inputs[1].String() != baz {
t.Errorf("foo combineJar inputs %v does not contain %q", combineJar.Inputs, baz)
}