DependencyScopeConfiguration

注意:此類別為孵化中,未來 Gradle 版本可能會變更。

一個 Configuration,用於收集相依性、相依性約束和排除規則。

屬性

屬性描述
allArtifacts

此組態的構件,包含延伸組態的構件。

allDependencies

取得完整的宣告相依性集合,包含超組態貢獻的相依性。

artifacts

此組態的構件,排除延伸組態的構件。

buildDependencies

回傳一個 TaskDependency 物件,其中包含建置屬於此組態或其超組態之一的本地相依性(例如專案相依性)所需的所有相依性。

dependencies

取得直接包含在此組態中的宣告相依性集合(忽略超組態)。

description

此組態的描述。

excludeRules

用於解析此組態的任何相依性的排除規則。

extendsFrom

此組態延伸自的組態名稱。超組態的構件也可用於此組態中。

hierarchy

取得一個排序過的集合,包含此組態和所有遞迴的超組態。

incoming

回傳一個 ResolvableDependencies 實例,公開相依性解析的結果。此方法是使用相依性解析輸出的主要方式。

resolutionStrategy

此組態使用的解析策略。解析策略提供關於如何解析此組態的額外詳細資訊。請參閱 ResolutionStrategy 的文件,以取得更多資訊和範例。

resolvedConfiguration

回傳一個 ResolvedConfiguration,這是相依性解析結果的舊式檢視。新的程式碼請避免使用此方法。建議透過 Configuration.getIncoming() 存取解析輸出。此 API 將在未來的 Gradle 版本中被棄用和移除。

state

組態的狀態。

transitive

此組態的傳遞性。一個傳遞性組態包含其直接相依性的傳遞閉包,以及它們的所有相依性。一個非傳遞性組態僅包含直接相依性。預設值為 true。

visible

如果這是一個可見的組態,則回傳 true。一個可見的組態可以在其所屬專案之外使用。預設值為 true。

方法

方法描述
copy()

建立此組態的副本,該副本僅包含直接在此組態中的相依性(不包含超組態的貢獻)。新的組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,除了超組態。Configuration.getHierarchy() 的副本將不包含任何超組態。

copy(dependencySpec)

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.copy(org.gradle.api.specs.Spec) 相同

copy(dependencySpec)

建立此組態的副本,忽略超組態(請參閱 Configuration.copy()),但使用指定的相依性規範篩選相依性。

copyRecursive()

建立此組態的副本,該副本包含直接在此組態中的相依性以及從超組態衍生的相依性。新的組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,除了超組態。Configuration.getHierarchy() 的副本將不包含任何超組態。

copyRecursive(dependencySpec)

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.copyRecursive(org.gradle.api.specs.Spec) 相同

copyRecursive(dependencySpec)

建立此組態的副本,其中包含來自超組態的相依性(請參閱 Configuration.copyRecursive()),但使用 dependencySpec 篩選相依性。

defaultDependencies(action)

如果組態在首次參與相依性解析時沒有定義相依性,則執行給定的動作。Configuration 將在以下情況參與相依性解析:

exclude(excludeProperties)

新增一個排除規則,以排除此組態的所有相依性的傳遞相依性。您也可以新增每個相依性的排除規則。請參閱 ModuleDependency.exclude(java.util.Map)

extendsFrom(superConfigs)

將給定的組態新增至此組態延伸自的組態集合。

fileCollection(dependencySpecClosure)
已棄用

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.fileCollection(org.gradle.api.specs.Spec) 相同。

fileCollection(dependencies)
已棄用

延遲解析此組態。解析發生在第一次存取回傳的 FileCollection 的元素時。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於指定相依性的結果檔案集合。

fileCollection(dependencySpec)
已棄用

延遲解析此組態。解析發生在第一次存取回傳的 FileCollection 的元素時。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於 dependencySpec 指定的相依性子集的結果檔案集合。

files(dependencySpecClosure)
已棄用

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.files(org.gradle.api.specs.Spec) 相同。

files(dependencies)
已棄用

解析此組態。這會定位並下載構成此組態的檔案。但僅回傳屬於指定相依性的結果檔案集合。

files(dependencySpec)
已棄用

解析此組態。這會定位並下載構成此組態的檔案。但僅回傳屬於 dependencySpec 指定的相依性子集的結果檔案集合。

getTaskDependencyFromProjectDependency(useDependedOn, taskName)

回傳一個 TaskDependency 物件,其中包含來自與此組態或其超組態之一相關的專案相依性的所有具有指定名稱的任務的相依性。這些其他專案可能是此組態所相依的專案,或具有類似命名組態且根據 useDependOn 參數相依於此組態的專案。

腳本區塊

沒有腳本區塊

屬性詳細資訊

PublishArtifactSet allArtifacts (唯讀)

此組態的構件,包含延伸組態的構件。

DependencySet allDependencies (唯讀)

取得完整的宣告相依性集合,包含超組態貢獻的相依性。

此方法不會解析組態。因此,回傳值不包含傳遞相依性。

PublishArtifactSet artifacts (唯讀)

此組態的構件,排除延伸組態的構件。

TaskDependency buildDependencies (唯讀)

回傳一個 TaskDependency 物件,其中包含建置屬於此組態或其超組態之一的本地相依性(例如專案相依性)所需的所有相依性。

DependencySet dependencies (唯讀)

取得直接包含在此組態中的宣告相依性集合(忽略超組態)。

此方法不會解析組態。因此,回傳值不包含傳遞相依性。

String description

此組態的描述。

Set<ExcludeRule> excludeRules (唯讀)

用於解析此組態的任何相依性的排除規則。

Set<Configuration> extendsFrom

此組態延伸自的組態名稱。超組態的構件也可用於此組態中。

Set<Configuration> hierarchy (唯讀)

取得一個排序過的集合,包含此組態和所有遞迴的超組態。

ResolvableDependencies incoming (唯讀)

回傳一個 ResolvableDependencies 實例,公開相依性解析的結果。此方法是使用相依性解析輸出的主要方式。

ResolutionStrategy resolutionStrategy (唯讀)

此組態使用的解析策略。解析策略提供關於如何解析此組態的額外詳細資訊。請參閱 ResolutionStrategy 的文件,以取得更多資訊和範例。

ResolvedConfiguration resolvedConfiguration (唯讀)

回傳一個 ResolvedConfiguration,這是相依性解析結果的舊式檢視。新的程式碼請避免使用此方法。建議透過 Configuration.getIncoming() 存取解析輸出。此 API 將在未來的 Gradle 版本中被棄用和移除。

請參閱 ResolvedConfiguration 以了解為何不應使用此 API 的詳細資訊。

State state (唯讀)

組態的狀態。

boolean transitive

此組態的傳遞性。一個傳遞性組態包含其直接相依性的傳遞閉包,以及它們的所有相依性。一個非傳遞性組態僅包含直接相依性。預設值為 true。

boolean visible

如果這是一個可見的組態,則回傳 true。一個可見的組態可以在其所屬專案之外使用。預設值為 true。

方法詳細資訊

建立此組態的副本,該副本僅包含直接在此組態中的相依性(不包含超組態的貢獻)。新的組態將處於 UNRESOLVED 狀態,但將保留此組態的所有其他屬性,除了超組態。Configuration.getHierarchy() 的副本將不包含任何超組態。

此方法僅適用於涉及可解析組態的特定情況,適用於作為通用複製機制。

Configuration copy(Closure dependencySpec)

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.copy(org.gradle.api.specs.Spec) 相同

此方法僅適用於涉及可解析組態的特定情況,適用於作為通用複製機制。

Configuration copy(Spec<? super Dependency> dependencySpec)

建立此組態的副本,忽略超組態(請參閱 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)

建立此組態的副本,其中包含來自超組態的相依性(請參閱 Configuration.copyRecursive()),但使用 dependencySpec 篩選相依性。

此方法僅適用於涉及可解析組態的特定情況,適用於作為通用複製機制。

Configuration defaultDependencies(Action<? super DependencySet> action)

如果組態在首次參與相依性解析時沒有定義相依性,則執行給定的動作。Configuration 將在以下情況參與相依性解析:

此方法對於為組態指定預設相依性很有用

configurations { conf }
configurations['conf'].defaultDependencies { dependencies ->
     dependencies.add(owner.project.dependencies.create("org.gradle:my-util:1.0"))
}

Configuration 即使延伸另一個非空的 Configuration 也被視為空。

如果提供多個動作,則每個動作將被執行,直到相依性集合不再為空。剩餘的動作將被忽略。

Configuration exclude(Map<String, String> excludeProperties)

新增一個排除規則,以排除此組態的所有相依性的傳遞相依性。您也可以新增每個相依性的排除規則。請參閱 ModuleDependency.exclude(java.util.Map)

Configuration extendsFrom(Configuration... superConfigs)

將給定的組態新增至此組態延伸自的組態集合。

組態僅允許從同一專案中的其他組態延伸。

FileCollection fileCollection(Closure dependencySpecClosure)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.fileCollection(org.gradle.api.specs.Spec) 相同。

FileCollection fileCollection(Dependency... dependencies)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

延遲解析此組態。解析發生在第一次存取回傳的 FileCollection 的元素時。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於指定相依性的結果檔案集合。

FileCollection fileCollection(Spec<? super Dependency> dependencySpec)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

延遲解析此組態。解析發生在第一次存取回傳的 FileCollection 的元素時。這會定位並下載構成此組態的檔案。FileCollection 中僅包含屬於 dependencySpec 指定的相依性子集的結果檔案集合。

Set<File> files(Closure dependencySpecClosure)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

接受一個閉包,該閉包被強制轉換為 Spec。行為方式與 Configuration.files(org.gradle.api.specs.Spec) 相同。

Set<File> files(Dependency... dependencies)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

解析此組態。這會定位並下載構成此組態的檔案。但僅回傳屬於指定相依性的結果檔案集合。

Set<File> files(Spec<? super Dependency> dependencySpec)

注意:此方法已棄用,將在 Gradle 的下一個主要版本中移除。

解析此組態。這會定位並下載構成此組態的檔案。但僅回傳屬於 dependencySpec 指定的相依性子集的結果檔案集合。

TaskDependency getTaskDependencyFromProjectDependency(boolean useDependedOn, String taskName)

回傳一個 TaskDependency 物件,其中包含來自與此組態或其超組態之一相關的專案相依性的所有具有指定名稱的任務的相依性。這些其他專案可能是此組態所相依的專案,或具有類似命名組態且根據 useDependOn 參數相依於此組態的專案。