Support multiple rsp files in REParams
rewrapper supports a comma separate list of rsp files, replace REParams.RSPFile with REParmas.RSPFiles. Test: remoteexec_test.go Change-Id: I7850c071c23d368d6fad4480dd527d146c13c6d3
This commit is contained in:
parent
fd708b5651
commit
a4eafddc41
|
@ -654,7 +654,7 @@ func (r *RuleBuilder) Build(name string, desc string) {
|
|||
inputs = append(inputs, inputsListFile)
|
||||
|
||||
r.rbeParams.OutputFiles = outputs.Strings()
|
||||
r.rbeParams.RSPFile = inputsListFile.String()
|
||||
r.rbeParams.RSPFiles = []string{inputsListFile.String()}
|
||||
rewrapperCommand := r.rbeParams.NoVarTemplate(r.ctx.Config().RBEWrapper())
|
||||
commandString = rewrapperCommand + " bash -c '" + strings.ReplaceAll(commandString, `'`, `'\''`) + "'"
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ var (
|
|||
Labels: map[string]string{"type": "link", "tool": "clang"},
|
||||
ExecStrategy: "${config.RECXXLinksExecStrategy}",
|
||||
Inputs: []string{"${out}.rsp", "$implicitInputs"},
|
||||
RSPFile: "${out}.rsp",
|
||||
RSPFiles: []string{"${out}.rsp"},
|
||||
OutputFiles: []string{"${out}", "$implicitOutputs"},
|
||||
ToolchainInputs: []string{"$ldCmd"},
|
||||
Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXLinksPool}"},
|
||||
|
@ -256,7 +256,7 @@ var (
|
|||
Labels: map[string]string{"type": "tool", "name": "abi-linker"},
|
||||
ExecStrategy: "${config.REAbiLinkerExecStrategy}",
|
||||
Inputs: []string{"$sAbiLinkerLibs", "${out}.rsp", "$implicitInputs"},
|
||||
RSPFile: "${out}.rsp",
|
||||
RSPFiles: []string{"${out}.rsp"},
|
||||
OutputFiles: []string{"$out"},
|
||||
ToolchainInputs: []string{"$sAbiLinker"},
|
||||
Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXPool}"},
|
||||
|
|
|
@ -150,7 +150,7 @@ var (
|
|||
&remoteexec.REParams{Labels: map[string]string{"type": "tool", "name": "turbine"},
|
||||
ExecStrategy: "${config.RETurbineExecStrategy}",
|
||||
Inputs: []string{"${config.TurbineJar}", "${out}.rsp", "$implicits"},
|
||||
RSPFile: "${out}.rsp",
|
||||
RSPFiles: []string{"${out}.rsp"},
|
||||
OutputFiles: []string{"$out.tmp"},
|
||||
OutputDirectories: []string{"$outDir"},
|
||||
ToolchainInputs: []string{"${config.JavaCmd}"},
|
||||
|
@ -167,7 +167,7 @@ var (
|
|||
&remoteexec.REParams{
|
||||
ExecStrategy: "${config.REJarExecStrategy}",
|
||||
Inputs: []string{"${config.SoongZipCmd}", "${out}.rsp"},
|
||||
RSPFile: "${out}.rsp",
|
||||
RSPFiles: []string{"${out}.rsp"},
|
||||
OutputFiles: []string{"$out"},
|
||||
Platform: map[string]string{remoteexec.PoolKey: "${config.REJavaPool}"},
|
||||
}, []string{"jarArgs"}, nil)
|
||||
|
@ -182,7 +182,7 @@ var (
|
|||
&remoteexec.REParams{
|
||||
ExecStrategy: "${config.REZipExecStrategy}",
|
||||
Inputs: []string{"${config.SoongZipCmd}", "${out}.rsp", "$implicits"},
|
||||
RSPFile: "${out}.rsp",
|
||||
RSPFiles: []string{"${out}.rsp"},
|
||||
OutputFiles: []string{"$out"},
|
||||
Platform: map[string]string{remoteexec.PoolKey: "${config.REJavaPool}"},
|
||||
}, []string{"jarArgs"}, []string{"implicits"})
|
||||
|
|
|
@ -1231,7 +1231,7 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
|
|||
Labels: labels,
|
||||
ExecStrategy: execStrategy,
|
||||
Inputs: inputs,
|
||||
RSPFile: implicitsRsp.String(),
|
||||
RSPFiles: []string{implicitsRsp.String()},
|
||||
ToolchainInputs: []string{config.JavaCmd(ctx).String()},
|
||||
Platform: map[string]string{remoteexec.PoolKey: pool},
|
||||
EnvironmentVariables: []string{"ANDROID_SDK_HOME"},
|
||||
|
|
|
@ -64,9 +64,8 @@ type REParams struct {
|
|||
ExecStrategy string
|
||||
// Inputs is a list of input paths or ninja variables.
|
||||
Inputs []string
|
||||
// RSPFile is the name of the ninja variable used by the rule as a placeholder for an rsp
|
||||
// input.
|
||||
RSPFile string
|
||||
// RSPFiles is the name of the files used by the rule as a placeholder for an rsp input.
|
||||
RSPFiles []string
|
||||
// OutputFiles is a list of output file paths or ninja variables as placeholders for rule
|
||||
// outputs.
|
||||
OutputFiles []string
|
||||
|
@ -134,8 +133,8 @@ func (r *REParams) wrapperArgs() string {
|
|||
args += " --inputs=" + strings.Join(r.Inputs, ",")
|
||||
}
|
||||
|
||||
if r.RSPFile != "" {
|
||||
args += " --input_list_paths=" + r.RSPFile
|
||||
if len(r.RSPFiles) > 0 {
|
||||
args += " --input_list_paths=" + strings.Join(r.RSPFiles, ",")
|
||||
}
|
||||
|
||||
if len(r.OutputFiles) > 0 {
|
||||
|
|
|
@ -45,14 +45,14 @@ func TestTemplate(t *testing.T) {
|
|||
Inputs: []string{"$in"},
|
||||
OutputFiles: []string{"$out"},
|
||||
ExecStrategy: "remote",
|
||||
RSPFile: "$out.rsp",
|
||||
RSPFiles: []string{"$out.rsp", "out2.rsp"},
|
||||
ToolchainInputs: []string{"clang++"},
|
||||
Platform: map[string]string{
|
||||
ContainerImageKey: DefaultImage,
|
||||
PoolKey: "default",
|
||||
},
|
||||
},
|
||||
want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=remote --inputs=$in --input_list_paths=$out.rsp --output_files=$out --toolchain_inputs=clang++ -- ", DefaultImage),
|
||||
want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=remote --inputs=$in --input_list_paths=$out.rsp,out2.rsp --output_files=$out --toolchain_inputs=clang++ -- ", DefaultImage),
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
|
|
Loading…
Reference in New Issue