public interface CommandLineArgs extends AddsToRuleKey, CommandLineArgsApi
In the future this will also let us more efficiently concatenate command line arguments that
are passed around as providers, as the CommandLineArgs
objects may store the immutable
objects more efficiently, and just construct a stream to interate over those internal
collections.
Modifier and Type | Interface and Description |
---|---|
static interface |
CommandLineArgs.ArgAndFormatString
Simple container that holds a single argument, and a formatting string that should be run after
CommandLineArgs.ArgAndFormatString.getObject() has been stringified (containing a single %s). |
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_FORMAT_STRING |
Modifier and Type | Method and Description |
---|---|
java.util.stream.Stream<CommandLineArgs.ArgAndFormatString> |
getArgsAndFormatStrings() |
com.google.common.collect.ImmutableSortedMap<String,String> |
getEnvironmentVariables() |
int |
getEstimatedArgsCount()
Get the approximate number of arguments that will be returned for
getArgsAndFormatStrings() |
void |
visitInputsAndOutputs(java.util.function.Consumer<Artifact> inputs,
java.util.function.Consumer<OutputArtifact> outputs)
|
isImmutable, repr
static final String DEFAULT_FORMAT_STRING
com.google.common.collect.ImmutableSortedMap<String,String> getEnvironmentVariables()
java.util.stream.Stream<CommandLineArgs.ArgAndFormatString> getArgsAndFormatStrings()
CommandLineArgStringifier.asString(ArtifactFilesystem, boolean, Object)
int getEstimatedArgsCount()
getArgsAndFormatStrings()
This can be handy to pre-size destination collections
void visitInputsAndOutputs(java.util.function.Consumer<Artifact> inputs, java.util.function.Consumer<OutputArtifact> outputs)