Miscellaneous fixes for java compiling

Remove java out directory before compiling to avoid incremental compile
issues.  Move the rspfile out of the out directory so it doesn't get
deleted.  cc->javac in the javac rule.  Don't call javac if there
are no source files.

Change-Id: I0bb06c214da54a587bd9e7c9d17caaf0ed1e595e
diff --git a/java/java.go b/java/java.go
index ca3a4c7..07bbc11 100644
--- a/java/java.go
+++ b/java/java.go
@@ -257,14 +257,17 @@
 
 	srcFiles = genSources(ctx, srcFiles, flags)
 
-	// Compile java sources into .class files
-	classes := TransformJavaToClasses(ctx, srcFiles, flags, javacDeps)
-	if ctx.Failed() {
-		return
+	if len(srcFiles) > 0 {
+		// Compile java sources into .class files
+		classes := TransformJavaToClasses(ctx, srcFiles, flags, javacDeps)
+		if ctx.Failed() {
+			return
+		}
+
+		classJarSpecs = append([]jarSpec{classes}, classJarSpecs...)
 	}
 
 	resourceJarSpecs = append(ResourceDirsToJarSpecs(ctx, j.properties.Resource_dirs), resourceJarSpecs...)
-	classJarSpecs = append([]jarSpec{classes}, classJarSpecs...)
 
 	manifest := j.properties.Manifest
 	if manifest != "" {
@@ -294,7 +297,7 @@
 
 	j.classpathFile = outputFile
 
-	if j.properties.Dex {
+	if j.properties.Dex && len(srcFiles) > 0 {
 		dxFlags := j.properties.Dxflags
 		if false /* emma enabled */ {
 			// If you instrument class files that have local variable debug information in