Fix source jars

Source jars were not working as designed because javac will only
compile files from the -sourcepath if there are references to them
starting from files on the command line.  Switch to extracting
the source jars into a directory and passing a list of the files
to javac.

Test: m checkbuild
Change-Id: I9f7d824f8538d081b2f5ad64ae3cbfd0e96213af
diff --git a/java/java.go b/java/java.go
index 1f7ba65..f5035e7 100644
--- a/java/java.go
+++ b/java/java.go
@@ -521,7 +521,7 @@
 		flags = protoFlags(ctx, &j.protoProperties, flags)
 	}
 
-	var srcJars classpath
+	var srcJars android.Paths
 	srcFiles, srcJars = j.genSources(ctx, srcFiles, flags)
 	srcJars = append(srcJars, deps.srcJars...)
 	srcJars = append(srcJars, j.ExtraSrcJars...)
@@ -576,7 +576,7 @@
 			}
 		}
 	}
-	if len(uniqueSrcFiles) > 0 {
+	if len(uniqueSrcFiles) > 0 || len(srcJars) > 0 {
 		var extraJarDeps android.Paths
 		if ctx.AConfig().IsEnvTrue("RUN_ERROR_PRONE") {
 			// If error-prone is enabled, add an additional rule to compile the java files into
@@ -670,11 +670,11 @@
 	j.outputFile = outputFile
 }
 
-func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles android.Paths, srcJars classpath,
+func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars android.Paths,
 	deps deps, flags javaBuilderFlags, jarName string) android.Path {
 
 	var jars android.Paths
-	if len(srcFiles) > 0 {
+	if len(srcFiles) > 0 || len(srcJars) > 0 {
 		// Compile java sources into turbine.jar.
 		turbineJar := android.PathForModuleOut(ctx, "turbine", jarName)
 		TransformJavaToHeaderClasses(ctx, turbineJar, srcFiles, srcJars, flags)