@NonExtensible public interface ProviderFactory
Provider
.
An instance of the factory can be injected into a task, plugin or other object by annotating a public constructor or property getter method with javax.inject.Inject
.
It is also available via Project.getProviders()
and Settings.getProviders()
.
Modifier and Type | Method | Description |
---|---|---|
<T extends Credentials> |
credentials(java.lang.Class<T> credentialsType,
java.lang.String identity) |
Creates a
Provider for the given Credentials type. |
<T extends Credentials> |
credentials(java.lang.Class<T> credentialsType,
Provider<java.lang.String> identity) |
Creates a
Provider for the given Credentials type. |
Provider<java.lang.String> |
environmentVariable(java.lang.String variableName) |
Creates a
Provider whose value is fetched from the environment variable with the given name. |
Provider<java.lang.String> |
environmentVariable(Provider<java.lang.String> variableName) |
Creates a
Provider whose value is fetched from the environment variable with the given name. |
Provider<java.util.Map<java.lang.String,java.lang.String>> |
environmentVariablesPrefixedBy(java.lang.String variableNamePrefix) |
Creates a
Provider whose value is a name-to-value map of the environment variables with the names starting with the given prefix. |
Provider<java.util.Map<java.lang.String,java.lang.String>> |
environmentVariablesPrefixedBy(Provider<java.lang.String> variableNamePrefix) |
Creates a
Provider whose value is a name-to-value map of the environment variables with the names starting with the given prefix. |
ExecOutput |
exec(Action<? super ExecSpec> action) |
Allows lazy access to the output of the external process.
|
FileContents |
fileContents(RegularFile file) |
Allows lazy access to the contents of the given file.
|
FileContents |
fileContents(Provider<RegularFile> file) |
Allows lazy access to the contents of the given file.
|
Provider<java.lang.String> |
gradleProperty(java.lang.String propertyName) |
Creates a
Provider whose value is fetched from the Gradle property of the given name. |
Provider<java.lang.String> |
gradleProperty(Provider<java.lang.String> propertyName) |
Creates a
Provider whose value is fetched from the Gradle property of the given name. |
ExecOutput |
javaexec(Action<? super JavaExecSpec> action) |
Allows lazy access to the output of the external java process.
|
<T,P extends ValueSourceParameters> |
of(java.lang.Class<? extends ValueSource<T,P>> valueSourceType,
Action<? super ValueSourceSpec<P>> configuration) |
Creates a
Provider whose value is obtained from the given ValueSource . |
<T> Provider<T> |
provider(java.util.concurrent.Callable<? extends T> value) |
Creates a
Provider whose value is calculated using the given Callable . |
Provider<java.util.Map<java.lang.String,java.lang.String>> |
systemPropertiesPrefixedBy(java.lang.String variableNamePrefix) |
Creates a
Provider whose value is a name-to-value map of the system properties with the names starting with the given prefix. |
Provider<java.util.Map<java.lang.String,java.lang.String>> |
systemPropertiesPrefixedBy(Provider<java.lang.String> variableNamePrefix) |
Creates a
Provider whose value is a name-to-value map of the system properties with the names starting with the given prefix. |
Provider<java.lang.String> |
systemProperty(java.lang.String propertyName) |
Creates a
Provider whose value is fetched from system properties using the given property name. |
Provider<java.lang.String> |
systemProperty(Provider<java.lang.String> propertyName) |
Creates a
Provider whose value is fetched from system properties using the given property name. |
<A,B,R> |
zip(Provider<A> first,
Provider<B> second,
java.util.function.BiFunction<? super A,? super B,? extends R> combiner) |
Returns a provider which value will be computed by combining a provider value with another
provider value using the supplied combiner function.
|
<T> Provider<T> provider(java.util.concurrent.Callable<? extends T> value)
Provider
whose value is calculated using the given Callable
.
The provider is live and will call the Callable
each time its value is queried. The Callable
may return null
, in which case the provider is considered to have no value.
value
- The java.util.concurrent.Callable
use to calculate the value.Provider<java.lang.String> environmentVariable(java.lang.String variableName)
Provider
whose value is fetched from the environment variable with the given name.variableName
- The name of the environment variable.Provider<java.lang.String> environmentVariable(Provider<java.lang.String> variableName)
Provider
whose value is fetched from the environment variable with the given name.variableName
- The provider for the name of the environment variable; when the given provider has no value, the returned provider has no value.@Incubating Provider<java.util.Map<java.lang.String,java.lang.String>> environmentVariablesPrefixedBy(java.lang.String variableNamePrefix)
Provider
whose value is a name-to-value map of the environment variables with the names starting with the given prefix.
The prefix comparison is case-sensitive. The returned map is immutable.variableNamePrefix
- The prefix of the environment variable names@Incubating Provider<java.util.Map<java.lang.String,java.lang.String>> environmentVariablesPrefixedBy(Provider<java.lang.String> variableNamePrefix)
Provider
whose value is a name-to-value map of the environment variables with the names starting with the given prefix.
The prefix comparison is case-sensitive. The returned map is immutable.variableNamePrefix
- The prefix of the environment variable namesProvider<java.lang.String> systemProperty(java.lang.String propertyName)
Provider
whose value is fetched from system properties using the given property name.propertyName
- the name of the system propertyProvider<java.lang.String> systemProperty(Provider<java.lang.String> propertyName)
Provider
whose value is fetched from system properties using the given property name.propertyName
- the name of the system property@Incubating Provider<java.util.Map<java.lang.String,java.lang.String>> systemPropertiesPrefixedBy(java.lang.String variableNamePrefix)
Provider
whose value is a name-to-value map of the system properties with the names starting with the given prefix.
The prefix comparison is case-sensitive. The returned map is immutable.variableNamePrefix
- The prefix of the system property names@Incubating Provider<java.util.Map<java.lang.String,java.lang.String>> systemPropertiesPrefixedBy(Provider<java.lang.String> variableNamePrefix)
Provider
whose value is a name-to-value map of the system properties with the names starting with the given prefix.
The prefix comparison is case-sensitive. The returned map is immutable.variableNamePrefix
- The prefix of the system property namesProvider<java.lang.String> gradleProperty(java.lang.String propertyName)
Provider
whose value is fetched from the Gradle property of the given name.propertyName
- the name of the Gradle propertyProvider<java.lang.String> gradleProperty(Provider<java.lang.String> propertyName)
Provider
whose value is fetched from the Gradle property of the given name.propertyName
- the name of the Gradle propertyFileContents fileContents(RegularFile file)
file
- the file whose contents to read.FileContents.getAsText()
,
FileContents.getAsBytes()
FileContents fileContents(Provider<RegularFile> file)
file
- provider of the file whose contents to read.FileContents.getAsText()
,
FileContents.getAsBytes()
@Incubating ExecOutput exec(Action<? super ExecSpec> action)
action
- the configuration of the external process with the output stream
pre-configured.@Incubating ExecOutput javaexec(Action<? super JavaExecSpec> action)
action
- the configuration of the external process with the output stream
pre-configured.@Incubating <T,P extends ValueSourceParameters> Provider<T> of(java.lang.Class<? extends ValueSource<T,P>> valueSourceType, Action<? super ValueSourceSpec<P>> configuration)
Provider
whose value is obtained from the given ValueSource
.valueSourceType
- the type of the ValueSource
configuration
- action to configure the parameters to the given ValueSource
<T extends Credentials> Provider<T> credentials(java.lang.Class<T> credentialsType, java.lang.String identity)
Provider
for the given Credentials
type.
The provider returned by this method should be attached to a task's input property. This way, the presence of credentials will be validated before any of the tasks are executed if and only if the task with credentials property is to be executed.
Values for the requested Credentials type will be sourced from the project's properties using the pattern "identity" + credentials field.
For example, PasswordCredentials
provider with identity "myService" will look for properties named "myServiceUsername" and "myServicePassword".
The following credential types are currently supported:
credentialsType
- type of credentials to be provided.identity
- identity to be associated with the credentials.<T extends Credentials> Provider<T> credentials(java.lang.Class<T> credentialsType, Provider<java.lang.String> identity)
Provider
for the given Credentials
type.
The provider returned by this method should be attached to a task's input property. This way, the presence of credentials will be validated before any of the tasks are executed if and only if the task with credentials property is to be executed.
Values for the requested Credentials type will be sourced from the project's properties using the pattern "identity" + credentials field.
For example, PasswordCredentials
provider with identity "myService" will look for properties named "myServiceUsername" and "myServicePassword".
The following credential types are currently supported:
credentialsType
- type of credentials to be provided.identity
- a provider returning the identity to be associated with the credentials.<A,B,R> Provider<R> zip(Provider<A> first, Provider<B> second, java.util.function.BiFunction<? super A,? super B,? extends R> combiner)
If the supplied providers represents a task or the output of a task, the resulting provider will carry the dependency information.
A
- the type of the first providerB
- the type of the second providerR
- the type of the result of the combinerfirst
- the first provider to combine withsecond
- the second provider to combine withcombiner
- the combiner of values. May return null
, in which case the provider
will have no value.