Use $in_newline instead of $in for turbine rsp files

The latest version of turbine only supports newline separated rsp
files, switch to $in_newline, and manually use newlines instead of
spaces for the classpath and srcjars.

Bug: 384046733
Test: m javac-check
Change-Id: Ic56d9abbfcb99154a4a58e3f3e39de3b6c6224a9
diff --git a/java/builder.go b/java/builder.go
index f25798d..88058e0 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -168,7 +168,7 @@
 				"${config.JavaCmd}",
 			},
 			Rspfile:        "$out.rsp",
-			RspfileContent: "$in",
+			RspfileContent: "$in_newline",
 			Restat:         true,
 		},
 		&remoteexec.REParams{Labels: map[string]string{"type": "tool", "name": "turbine"},
@@ -459,7 +459,7 @@
 	const srcJarArgsLimit = 32 * 1024
 	if len(srcJarArgs) > srcJarArgsLimit {
 		srcJarRspFile := android.PathForModuleOut(ctx, "turbine", "srcjars.rsp")
-		android.WriteFileRule(ctx, srcJarRspFile, srcJarArgs)
+		android.WriteFileRule(ctx, srcJarRspFile, strings.Join(srcJars.Strings(), "\n"))
 		srcJarArgs = "@" + srcJarRspFile.String()
 		implicits = append(implicits, srcJarRspFile)
 		rbeInputs = append(rbeInputs, srcJarRspFile)
@@ -491,7 +491,7 @@
 	const classpathLimit = 32 * 1024
 	if len(classpathFlags) > classpathLimit {
 		classpathRspFile := android.PathForModuleOut(ctx, dir, "classpath.rsp")
-		android.WriteFileRule(ctx, classpathRspFile, classpathFlags)
+		android.WriteFileRule(ctx, classpathRspFile, strings.Join(classpath.Strings(), "\n"))
 		classpathFlags = "@" + classpathRspFile.String()
 		implicits = append(implicits, classpathRspFile)
 		rspFiles = append(rspFiles, classpathRspFile)