Add RuleBuilderCommand.FlagForEachArg()

am: c7ed004dd3

Change-Id: I670c997252c9cabb32297246499bdde561c7fae2
This commit is contained in:
Colin Cross
2019-02-12 17:18:33 -08:00
committed by android-build-merger
2 changed files with 17 additions and 0 deletions

View File

@@ -294,6 +294,15 @@ func (c *RuleBuilderCommand) FlagWithArg(flag, arg string) *RuleBuilderCommand {
return c.Text(flag + arg)
}
// FlagForEachArg adds the specified flag joined with each argument to the command line. The result is identical to
// calling FlagWithArg for argument.
func (c *RuleBuilderCommand) FlagForEachArg(flag string, args []string) *RuleBuilderCommand {
for _, arg := range args {
c.FlagWithArg(flag, arg)
}
return c
}
// FlagWithArg adds the specified flag and list of arguments to the command line, with the arguments joined by sep
// and no separator between the flag and arguments. The flag and arguments should not contain input or output paths or
// the rule will not have them listed in its dependencies or outputs.

View File

@@ -117,6 +117,14 @@ func ExampleRuleBuilderCommand_FlagWithArg() {
// ls --sort=time
}
func ExampleRuleBuilderCommand_FlagForEachArg() {
fmt.Println(NewRuleBuilder().Command().
Tool("ls").
FlagForEachArg("--sort=", []string{"time", "size"}))
// Output:
// ls --sort=time --sort=size
}
func ExampleRuleBuilderCommand_FlagForEachInput() {
fmt.Println(NewRuleBuilder().Command().
Tool("turbine").