Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77ccfd83 authored by Colin Cross's avatar Colin Cross Committed by android-build-merger
Browse files

Add RuleBuilderCommand.FlagForEachArg()

am: c7ed004d

Change-Id: I670c997252c9cabb32297246499bdde561c7fae2
parents 97e62345 c7ed004d
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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.
+8 −0
Original line number Diff line number Diff line
@@ -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").