Pass hidl-lint files list using Rspfile to soong_zip

To avoid 'posix_spawn: Argument list too long' on checkouts with
a large number of hidl interfaces.

Bug: 240359298
Test: m out/soong/.intermediates/hidl-lint.zip
Change-Id: Ia8fb08776287be853c828bcefa4a8f9f9b7cb61b
diff --git a/build/hidl_interface.go b/build/hidl_interface.go
index cd8725e..08d54eb 100644
--- a/build/hidl_interface.go
+++ b/build/hidl_interface.go
@@ -63,7 +63,9 @@
 	}, "output", "options", "fqName")
 
 	zipLintRule = pctx.StaticRule("zipLintRule", blueprint.RuleParams{
-		Command:     "rm -f ${output} && ${soong_zip} -o ${output} -C ${intermediatesDir} ${files}",
+		Rspfile:     "$out.rsp",
+		RspfileContent: "$files",
+		Command:     "rm -f ${output} && ${soong_zip} -o ${output} -C ${intermediatesDir} -l ${out}.rsp",
 		CommandDeps: []string{"${soong_zip}"},
 		Description: "Zipping hidl-lints into ${output}",
 	}, "output", "files")
@@ -187,7 +189,7 @@
 		Output: outPath,
 		Args: map[string]string{
 			"output": outPath.String(),
-			"files":  strings.Join(wrap("-f ", hidlLintOutputs.Strings(), ""), " "),
+			"files":  strings.Join(hidlLintOutputs.Strings(), " "),
 		},
 	})
 }