API 文件 | Configuration |
---|
Configuration
代表一組工件及其相依性。在 ConfigurationContainer
的文件中,可以找到更多關於宣告組態的相依性或管理組態的資訊
Configuration 是 FileCollection
的一個實例,其中包含所有相依性 (另請參閱 Configuration.getAllDependencies()
) 但不包含工件。如果您想引用在此組態中宣告的工件,請使用 Configuration.getArtifacts()
或 Configuration.getAllArtifacts()
。在 ArtifactHandler
的文件中,閱讀更多關於在組態中宣告工件的資訊。請參閱 宣告相依性 使用者手冊章節以取得更多資訊。
屬性 | 描述 |
allArtifacts | 此組態的工件,包括擴展組態的工件。 |
allDependencies | 取得已宣告相依性的完整集合,包括由父組態貢獻的相依性。 |
artifacts | 此組態的工件,不包括擴展組態的工件。 |
buildDependencies | 傳回一個 |
dependencies | 取得直接包含在此組態中的已宣告相依性集合 (忽略父組態)。 |
description | 此組態的描述。 |
excludeRules | 應用於解析此組態的任何相依性的排除規則。 |
extendsFrom | 此組態從中擴展的組態名稱。父組態的工件也在此組態中可用。 |
hierarchy | 取得一個有序集合,包括此組態和所有遞迴的父組態。 |
incoming | 傳回一個 |
resolutionStrategy | 此組態使用的解析策略。解析策略提供有關如何解析此組態的額外詳細資訊。有關更多資訊和範例,請參閱 |
resolvedConfiguration | 傳回 |
state | 組態的狀態。 |
transitive | 此組態的傳遞性。傳遞組態包含其直接相依性的傳遞閉包及其所有相依性。非傳遞組態僅包含直接相依性。預設值為 true。 |
visible | 如果這是一個可見的組態,則傳回 true。可見的組態可在其所屬專案之外使用。預設值為 true。 |
方法 | 描述 |
copy() | 建立此組態的副本,該副本僅包含此組態中的直接相依性 (不包含父組態的貢獻)。新組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,但父組態除外。 |
copy(dependencySpec) | 採用一個閉包,該閉包被強制轉換為 |
copy(dependencySpec) | 建立此組態的副本,忽略父組態 (請參閱 |
copyRecursive() | 建立此組態的副本,其中包含此組態中的直接相依性和從父組態衍生的相依性。新組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,但父組態除外。 |
copyRecursive(dependencySpec) | 採用一個閉包,該閉包被強制轉換為 |
copyRecursive(dependencySpec) | 建立此組態的副本,其中包含來自父組態的相依性 (請參閱 |
defaultDependencies(action) | 如果組態在首次參與相依性解析時沒有定義相依性,則執行給定的 action。當以下情況發生時, |
exclude(excludeProperties) | 新增一個排除規則,以排除此組態的所有相依性的傳遞相依性。您也可以為每個相依性新增排除規則。請參閱 |
extendsFrom(superConfigs) | 將給定的組態新增到此組態從中擴展的組態集合。 |
fileCollection(dependencySpecClosure) | 已棄用 採用一個閉包,該閉包被強制轉換為 |
fileCollection(dependencies) | 已棄用 延遲解析此組態。當首次存取傳回的 |
fileCollection(dependencySpec) | 已棄用 延遲解析此組態。當首次存取傳回的 |
files(dependencySpecClosure) | 已棄用 採用一個閉包,該閉包被強制轉換為 |
files(dependencies) | 已棄用 解析此組態。這會定位並下載構成此組態的檔案。但僅傳回屬於指定相依性的結果檔案集。 |
files(dependencySpec) | 已棄用 解析此組態。這會定位並下載構成此組態的檔案。但僅傳回屬於 dependencySpec 指定的相依性子集的結果檔案集。 |
getTaskDependencyFromProjectDependency(useDependedOn, taskName) | 傳回一個 TaskDependency 物件,其中包含來自與此組態或其父組態之一相關的專案相依性的所有具有指定名稱的 Task 的相依性。這些其他專案可能是此組態所相依的專案,也可能是具有類似命名組態且基於 useDependOn 引數相依於此組態的專案。 |
PublishArtifactSet
allArtifacts
(唯讀)
此組態的工件,包括擴展組態的工件。
PublishArtifactSet
artifacts
(唯讀)
此組態的工件,不包括擴展組態的工件。
TaskDependency
buildDependencies
(唯讀)
傳回一個 TaskDependency
物件,其中包含建置屬於此組態或其父組態之一的本地相依性 (例如,專案相依性) 所需的所有相依性。
String
description
此組態的描述。
Set
<ExcludeRule
>
excludeRules
(唯讀)
Set
<ExcludeRule
>應用於解析此組態的任何相依性的排除規則。
Set
<Configuration
>
extendsFrom
Set
<Configuration
>此組態從中擴展的組態名稱。父組態的工件也在此組態中可用。
Set
<Configuration
>
hierarchy
(唯讀)
Set
<Configuration
>取得一個有序集合,包括此組態和所有遞迴的父組態。
ResolvableDependencies
incoming
(唯讀)
傳回一個 ResolvableDependencies
實例,公開相依性解析的結果。此方法是使用相依性解析輸出的主要方式。
ResolutionStrategy
resolutionStrategy
(唯讀)
此組態使用的解析策略。解析策略提供有關如何解析此組態的額外詳細資訊。有關更多資訊和範例,請參閱 ResolutionStrategy
的文件。
ResolvedConfiguration
resolvedConfiguration
(唯讀)
傳回 ResolvedConfiguration
,這是相依性解析結果的舊版視圖。 對於新程式碼,請避免使用此方法。建議透過 Configuration.getIncoming()
存取解析輸出。此 API 將在未來的 Gradle 版本中被棄用並移除。
請參閱 ResolvedConfiguration
以了解為什麼不應使用此 API 的詳細資訊。
Configuration
copy
()
建立此組態的副本,該副本僅包含此組態中的直接相依性 (不包含父組態的貢獻)。新組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,但父組態除外。Configuration.getHierarchy()
的副本將不包含任何父組態。
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
copy
(Closure
dependencySpec)
採用一個閉包,該閉包被強制轉換為 Spec
。行為方式與 Configuration.copy(org.gradle.api.specs.Spec)
相同
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
copy
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>建立此組態的副本,忽略父組態 (請參閱 Configuration.copy()
,但使用指定的相依性規格篩選相依性。
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
copyRecursive
()
建立此組態的副本,其中包含此組態中的直接相依性和從父組態衍生的相依性。新組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,但父組態除外。Configuration.getHierarchy()
的副本將不包含任何父組態。
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
copyRecursive
(Closure
dependencySpec)
採用一個閉包,該閉包被強制轉換為 Spec
。行為方式與 Configuration.copyRecursive(org.gradle.api.specs.Spec)
相同
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
copyRecursive
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>建立此組態的副本,其中包含來自父組態的相依性 (請參閱 Configuration.copyRecursive()
),但使用 dependencySpec 篩選相依性。
此方法僅適用於涉及可解析組態的特定情況, 不 作為通用複製機制。
Configuration
defaultDependencies
(Action
<? super DependencySet
>
action)
Action
<? super DependencySet
>如果組態在首次參與相依性解析時沒有定義相依性,則執行給定的 action。當以下情況發生時,Configuration
將參與相依性解析
Configuration
本身已解析- 擴展此組態的另一個
Configuration
已解析 - 將此組態作為專案相依性引用的另一個
Configuration
已解析
此方法對於為組態指定預設相依性非常有用
configurations { conf } configurations['conf'].defaultDependencies { dependencies -> dependencies.add(owner.project.dependencies.create("org.gradle:my-util:1.0")) }
即使 Configuration
擴展了另一個非空的 Configuration
,也被視為空。
如果提供多個 action,則每個 action 將被執行,直到相依性集合不再為空。剩餘的 action 將被忽略。
Configuration
exclude
(Map
<String
, String
>
excludeProperties)
Map
<String
, String
>新增一個排除規則,以排除此組態的所有相依性的傳遞相依性。您也可以為每個相依性新增排除規則。請參閱 ModuleDependency.exclude(java.util.Map)
。
FileCollection
fileCollection
(Closure
dependencySpecClosure)
注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
採用一個閉包,該閉包被強制轉換為 Spec
。行為方式與 Configuration.fileCollection(org.gradle.api.specs.Spec)
相同。
FileCollection
fileCollection
(Dependency
...
dependencies)
Dependency
...注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
延遲解析此組態。當首次存取傳回的 FileCollection
的元素時,解析才會發生。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於指定相依性的結果檔案集。
FileCollection
fileCollection
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
延遲解析此組態。當首次存取傳回的 FileCollection
的元素時,解析才會發生。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於 dependencySpec 指定的相依性子集的結果檔案集。
注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
採用一個閉包,該閉包被強制轉換為 Spec
。行為方式與 Configuration.files(org.gradle.api.specs.Spec)
相同。
Set
<File
>
files
(Dependency
...
dependencies)
Set
<File
>Dependency
...注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
解析此組態。這會定位並下載構成此組態的檔案。但僅傳回屬於指定相依性的結果檔案集。
Set
<File
>
files
(Spec
<? super Dependency
>
dependencySpec)
Set
<File
>Spec
<? super Dependency
>注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。
解析此組態。這會定位並下載構成此組態的檔案。但僅傳回屬於 dependencySpec 指定的相依性子集的結果檔案集。
TaskDependency
getTaskDependencyFromProjectDependency
(boolean
useDependedOn, String
taskName)
傳回一個 TaskDependency 物件,其中包含來自與此組態或其父組態之一相關的專案相依性的所有具有指定名稱的 Task 的相依性。這些其他專案可能是此組態所相依的專案,也可能是具有類似命名組態且基於 useDependOn 引數相依於此組態的專案。