Support ninja rsp files in soong_zip

Add a -r argument to soong_zip that reads a list of files from a file
like the -l argument but treats it as a Ninja rsp file with escaping.
Replace the -l arguments in Soong that are using rsp files with -r.

Fixes: 162435077
Test: TestReadRespFile, TestZip
Change-Id: I4605312e99406ab1bd0c37af9c5ad212393f0403
This commit is contained in:
Colin Cross
2020-08-19 13:51:47 -07:00
parent 2d815963ba
commit 053fca10c9
8 changed files with 64 additions and 9 deletions

View File

@@ -186,8 +186,8 @@ var (
// OutputFile here is $in for remote-execution since its possible that
// clang-tidy modifies the given input file itself and $out refers to the
// ".tidy" file generated for ninja-dependency reasons.
OutputFiles: []string{"$in"},
Platform: map[string]string{remoteexec.PoolKey: "${config.REClangTidyPool}"},
OutputFiles: []string{"$in"},
Platform: map[string]string{remoteexec.PoolKey: "${config.REClangTidyPool}"},
}, []string{"cFlags", "tidyFlags"}, []string{})
_ = pctx.SourcePathVariable("yasmCmd", "prebuilts/misc/${config.HostPrebuiltTag}/yasm/yasm")
@@ -265,9 +265,9 @@ var (
zip = pctx.AndroidStaticRule("zip",
blueprint.RuleParams{
Command: "cat $out.rsp | tr ' ' '\\n' | tr -d \\' | sort -u > ${out}.tmp && ${SoongZipCmd} -o ${out} -C $$OUT_DIR -l ${out}.tmp",
Command: "${SoongZipCmd} -o ${out} -C $$OUT_DIR -r ${out}.rsp",
CommandDeps: []string{"${SoongZipCmd}"},
Rspfile: "$out.rsp",
Rspfile: "${out}.rsp",
RspfileContent: "$in",
})