用於建立 Provider
實例的工廠。
工廠的實例可以通過使用 javax.inject.Inject
註解公共建構子或屬性 getter 方法注入到任務、外掛或其他物件中。它也可以通過 Project.getProviders()
和 Settings.getProviders()
取得。
方法 | 描述 |
credentials(credentialsType, identity) | 為給定的 |
credentials(credentialsType, identity) | 為給定的 |
environmentVariable(variableName) | 建立一個 |
environmentVariable(variableName) | 建立一個 |
environmentVariablesPrefixedBy(variableNamePrefix) | 建立一個 |
environmentVariablesPrefixedBy(variableNamePrefix) | 建立一個 |
exec(action) | 允許延遲存取外部進程的輸出。 |
fileContents(file) | 允許延遲存取給定檔案的內容。 |
fileContents(file) | 允許延遲存取給定檔案的內容。 |
gradlePropertiesPrefixedBy(variableNamePrefix) | 建立一個 |
gradlePropertiesPrefixedBy(variableNamePrefix) | 建立一個 |
gradleProperty(propertyName) | 建立一個 |
gradleProperty(propertyName) | 建立一個 |
javaexec(action) | 允許延遲存取外部 Java 進程的輸出。 |
of(valueSourceType, configuration) | 建立一個 |
provider(value) | |
systemPropertiesPrefixedBy(variableNamePrefix) | 建立一個 |
systemPropertiesPrefixedBy(variableNamePrefix) | 建立一個 |
systemProperty(propertyName) | 建立一個 |
systemProperty(propertyName) | 建立一個 |
zip(first, second, combiner) | 返回一個 provider,其值將通過使用提供的組合器函數組合一個 provider 值與另一個 provider 值來計算。 |
為給定的 Credentials
類型建立 Provider
。
此方法返回的 provider 應附加到任務的輸入屬性。這樣,如果且僅當要執行具有憑證屬性的任務時,才會在執行任何任務之前驗證憑證的存在。
請求的 Credentials 類型的值將使用模式 "identity" + 憑證欄位從專案的屬性中取得。例如,具有身份 "myService" 的 PasswordCredentials
provider 將查找名為 "myServiceUsername" 和 "myServicePassword" 的屬性。
目前支援以下憑證類型
為給定的 Credentials
類型建立 Provider
。
此方法返回的 provider 應附加到任務的輸入屬性。這樣,如果且僅當要執行具有憑證屬性的任務時,才會在執行任何任務之前驗證憑證的存在。
請求的 Credentials 類型的值將使用模式 "identity" + 憑證欄位從專案的屬性中取得。例如,具有身份 "myService" 的 PasswordCredentials
provider 將查找名為 "myServiceUsername" 和 "myServicePassword" 的屬性。
目前支援以下憑證類型
建立一個 Provider
,其值是以給定前綴開頭的環境變數的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
建立一個 Provider
,其值是以給定前綴開頭的環境變數的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
ExecOutput
exec
(Action
<? super ExecSpec
>
action)
Action
<? super ExecSpec
>允許延遲存取外部進程的輸出。
當在配置時讀取進程輸出時,它被視為配置模型的輸入。後續的建置將重新執行進程以獲取輸出,並檢查快取的模型是否仍然是最新的。
進程輸入和輸出流無法配置。
對於更複雜的用例,例如處理執行異常、提供輸入流或以流式方式處理輸出,請使用 ValueSource
。
建立一個 Provider
,其值是以給定前綴開頭的 Gradle 屬性的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
建立一個 Provider
,其值是以給定前綴開頭的 Gradle 屬性的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
建立一個 Provider
,其值從具有給定名稱的 Gradle 屬性中獲取。
ExecOutput
javaexec
(Action
<? super JavaExecSpec
>
action)
Action
<? super JavaExecSpec
>允許延遲存取外部 Java 進程的輸出。
當在配置時讀取進程輸出時,它被視為配置模型的輸入。後續的建置將重新執行進程以獲取輸出,並檢查快取的模型是否仍然是最新的。
進程輸入和輸出流無法配置。
對於更複雜的用例,例如處理執行異常、提供輸入流或以流式方式處理輸出,請使用 ValueSource
。
Provider
<T
>
of
(Class
<? extends ValueSource
<T
, P
>>
valueSourceType, Action
<? super ValueSourceSpec
<P
>>
configuration)
Provider
<T
>Class
<? extends ValueSource
<T
, P
>>Action
<? super ValueSourceSpec
<P
>>建立一個 Provider
,其值從給定的 ValueSource
取得。
建立一個 Provider
,其值使用給定的 Callable
計算。
provider 是實時的,並且每次查詢其值時都會調用 Callable
。Callable
可能返回 null
,在這種情況下,provider 被認為沒有值。
建立一個 Provider
,其值是以給定前綴開頭的系統屬性的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
建立一個 Provider
,其值是以給定前綴開頭的系統屬性的名稱-值映射。前綴比較區分大小寫。返回的地圖是不可變的。
Provider
<R
>
zip
(Provider
<A
>
first, Provider
<B
>
second, BiFunction
<? super A
, ? super B
, ? extends R
>
combiner)
Provider
<R
>Provider
<A
>Provider
<B
>BiFunction
<? super A
, ? super B
, ? extends R
>返回一個 provider,其值將通過使用提供的組合器函數組合一個 provider 值與另一個 provider 值來計算。
結果 provider 將是實時的,因此每次查詢它時,它都會查詢兩個提供的 provider 並將組合器應用於結果。每當任何 provider 沒有值時,新的 provider 也將沒有值,並且不會調用組合器。
如果提供的 provider 代表任務或任務的輸出,則結果 provider 將攜帶依賴資訊。