Table of Contents
API Documentation: | ProviderFactory |
---|
A factory for creating instances ofProvider
.
An instance of the factory can be injected into a task, plugin or other object by annotating a public constructor or property getter method withjavax.inject.Inject
.It is also available viaProject.getProviders()
andSettings.getProviders()
.
Method | Description |
credentials(credentialsType, identity) | Creates a |
credentials(credentialsType, identity) | Creates a |
environmentVariable(variableName) | Creates a |
environmentVariable(variableName) | Creates a |
environmentVariablesPrefixedBy(variableNamePrefix) | Creates a |
environmentVariablesPrefixedBy(variableNamePrefix) | Creates a |
exec(action) | Allows lazy access to the output of the external process. |
fileContents(file) | Allows lazy access to the contents of the given file. |
fileContents(file) | Allows lazy access to the contents of the given file. |
gradlePropertiesPrefixedBy(variableNamePrefix) | Creates a |
gradlePropertiesPrefixedBy(variableNamePrefix) | Creates a |
gradleProperty(propertyName) | Creates a |
gradleProperty(propertyName) | Creates a |
javaexec(action) | Allows lazy access to the output of the external java process. |
of(valueSourceType, configuration) | Creates a |
provider(value) | Creates a |
systemPropertiesPrefixedBy(variableNamePrefix) | Creates a |
systemPropertiesPrefixedBy(variableNamePrefix) | Creates a |
systemProperty(propertyName) | Creates a |
systemProperty(propertyName) | Creates a |
zip(first, second, combiner) | Returns a provider which value will be computed by combining a provider value with anotherprovider value using the supplied combiner function. |
Creates aProvider
for the givenCredentials
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:
Creates aProvider
for the givenCredentials
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:
Creates aProvider
whose value is fetched from the environment variable with the given name.
Creates aProvider
whose value is fetched from the environment variable with the given name.
Creates aProvider
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.
Creates aProvider
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.
ExecOutput
exec
(Action
<? superExecSpec
>
action)
Action
<? superExecSpec
>Allows lazy access to the output of the external process.
When the process output is read at configuration time it is considered as an input to theconfiguration model. Consequent builds will re-execute the process to obtain the output andcheck if the cached model is still up-to-date.
The process input and output streams cannot be configured.
For more sophisticated use cases, like handling execution exceptions, supplying input streams or processing the output in a streaming way, useValueSource
.
FileContents
fileContents
(RegularFile
file)
Allows lazy access to the contents of the given file.
When the file contents are read at configuration time the file is automatically consideredas an input to the configuration model.
FileContents
fileContents
(Provider
<RegularFile
>
file)
Provider
<RegularFile
>Allows lazy access to the contents of the given file.
When the file contents are read at configuration time the file is automatically consideredas an input to the configuration model.
Creates aProvider
whose value is a name-to-value map of the Gradle properties with the names starting with the given prefix.The prefix comparison is case-sensitive. The returned map is immutable.
Creates aProvider
whose value is a name-to-value map of the Gradle properties with the names starting with the given prefix.The prefix comparison is case-sensitive. The returned map is immutable.
Creates aProvider
whose value is fetched from the Gradle property of the given name.
Creates aProvider
whose value is fetched from the Gradle property of the given name.
ExecOutput
javaexec
(Action
<? superJavaExecSpec
>
action)
Action
<? superJavaExecSpec
>Allows lazy access to the output of the external java process.
When the process output is read at configuration time it is considered as an input to theconfiguration model. Consequent builds will re-execute the process to obtain the output andcheck if the cached model is still up-to-date.
The process input and output streams cannot be configured.
For more sophisticated use cases, like handling execution exceptions, supplying input streams or processing the output in a streaming way, useValueSource
.
Provider
<T
>
of
(Class
<? extendsValueSource
<T
,P
>>
valueSourceType,Action
<? superValueSourceSpec
<P
>>
configuration)
Provider
<T
>Class
<? extendsValueSource
<T
,P
>>Action
<? superValueSourceSpec
<P
>>Creates aProvider
whose value is obtained from the givenValueSource
.
Creates aProvider
whose value is calculated using the givenCallable
.
The provider is live and will call theCallable
each time its value is queried. TheCallable
may returnnull
, in which case the provider is considered to have no value.
Creates aProvider
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.
Creates aProvider
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.
Creates aProvider
whose value is fetched from system properties using the given property name.
Creates aProvider
whose value is fetched from system properties using the given property name.
Provider
<R
>
zip
(Provider
<A
>
first,Provider
<B
>
second,BiFunction
<? superA
, ? superB
, ? extendsR
>
combiner)
Provider
<R
>Provider
<A
>Provider
<B
>BiFunction
<? superA
, ? superB
, ? extendsR
>Returns a provider which value will be computed by combining a provider value with anotherprovider value using the supplied combiner function.
The resulting provider will be live, so that each time it is queried, it queries both supplied providersand applies the combiner to the results. Whenever any of the providers has no value, the new providerwill also have no value and the combiner will not be called.
If the supplied providers represents a task or the output of a task, the resulting providerwill carry the dependency information.