注意:此类处于孵化阶段,未来版本的 Gradle 中可能会更改。
一个Configuration
,用于收集依赖项、依赖约束和排除规则。
属性 | 描述 |
allArtifacts | 此配置的 Artifact,包括扩展配置的 Artifact。 |
allDependencies | 获取完整的已声明依赖项集合,包括由父配置贡献的依赖项。 |
artifacts | 此配置的 Artifact,不包括扩展配置的 Artifact。 |
buildDependencies | 返回一个 |
dependencies | 获取直接包含在此配置中的已声明依赖项集合(忽略父配置)。 |
description | 此配置的描述。 |
excludeRules | 用于解析此配置任何依赖项的排除规则。 |
extendsFrom | 此配置继承自的配置名称。父配置的 Artifact 也在此配置中可用。 |
hierarchy | 获取包含此配置及其所有父配置(递归地)的有序集合。 |
incoming | 返回一个 |
resolutionStrategy | 此配置使用的解析策略。解析策略提供有关如何解析此配置的额外细节。有关更多信息和示例,请参阅 |
resolvedConfiguration | 返回一个 |
state | 配置的状态。 |
transitive | 此配置的传递性。传递性配置包含其直接依赖项及其所有依赖项的传递闭包。非传递性配置仅包含直接依赖项。默认值为 true。 |
visible | 如果此配置是可见的,则返回 true。可见配置可在其所属的项目外部使用。默认值为 true。 |
方法 | 描述 |
copy() | 创建此配置的副本,该副本仅包含此配置中直接包含的依赖项(不包含父配置的贡献)。新配置将处于 UNRESOLVED 状态,但将保留此配置的所有其他属性,父配置除外。副本的 |
copy(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copy(dependencySpec) | 创建此配置的副本,忽略父配置(参见 |
copyRecursive() | 创建此配置的副本,该副本包含此配置中直接包含的依赖项以及从父配置派生的依赖项。新配置将处于 UNRESOLVED 状态,但将保留此配置的所有其他属性,父配置除外。副本的 |
copyRecursive(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copyRecursive(dependencySpec) | 创建此配置的副本,包含来自父配置的依赖项(参见 |
defaultDependencies(action) | 如果配置在首次参与依赖项解析时没有定义的依赖项,则执行给定操作。配置 |
exclude(excludeProperties) | 添加排除规则,以排除此配置所有依赖项的传递依赖项。您也可以为每个依赖项添加排除规则。参见 |
extendsFrom(superConfigs) | 将给定的配置添加到此配置继承自的配置集合中。 |
fileCollection(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
fileCollection(dependencies) | 已弃用 延迟解析此配置。解析发生在首次访问返回的 |
fileCollection(dependencySpec) | 已弃用 延迟解析此配置。解析发生在首次访问返回的 |
files(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
files(dependencies) | 已弃用 解析此配置。这将定位并下载构成此配置的文件。但仅返回属于指定依赖项的最终文件集合。 |
files(dependencySpec) | 已弃用 解析此配置。这将定位并下载构成此配置的文件。但仅返回属于由 dependencySpec 指定的依赖项子集的最终文件集合。 |
getTaskDependencyFromProjectDependency(useDependedOn, taskName) | 返回一个 TaskDependency 对象,包含对与此配置或其某个父配置相关的项目依赖项中所有具有指定名称的任务的依赖项。这些其他项目可能是此配置所依赖的项目,或者基于 useDependOn 参数依赖于此配置的、具有相似名称配置的项目。 |
PublishArtifactSet
allArtifacts
(只读)
此配置的 Artifact,包括扩展配置的 Artifact。
PublishArtifactSet
artifacts
(只读)
此配置的 Artifact,不包括扩展配置的 Artifact。
TaskDependency
buildDependencies
(只读)
返回一个TaskDependency
对象,包含构建属于此配置或其某个父配置的本地依赖项(例如项目依赖项)所需的所有依赖项。
String
description
此配置的描述。
Set
<ExcludeRule
>
excludeRules
(只读)
Set
<ExcludeRule
>用于解析此配置任何依赖项的排除规则。
Set
<Configuration
>
extendsFrom
Set
<Configuration
>此配置继承自的配置名称。父配置的 Artifact 也在此配置中可用。
Set
<Configuration
>
hierarchy
(只读)
Set
<Configuration
>获取包含此配置及其所有父配置(递归地)的有序集合。
ResolvableDependencies
incoming
(只读)
返回一个ResolvableDependencies
实例,暴露依赖项解析的结果。此方法是消费依赖项解析输出的主要方式。
ResolutionStrategy
resolutionStrategy
(只读)
此配置使用的解析策略。解析策略提供有关如何解析此配置的额外细节。有关更多信息和示例,请参阅ResolutionStrategy
的文档。
ResolvedConfiguration
resolvedConfiguration
(只读)
返回一个ResolvedConfiguration
,这是依赖项解析结果的遗留视图。新代码应避免使用此方法。优先通过Configuration.getIncoming()
访问解析输出。此 API 将在未来的 Gradle 版本中弃用并移除。
有关为什么不应使用此 API 的详细信息,请参阅ResolvedConfiguration
。
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()
),但使用指定的依赖项 spec 过滤依赖项。
此方法仅用于涉及可解析配置的特定情况,并非通用复制机制。
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
>如果配置在首次参与依赖项解析时没有定义的依赖项,则执行给定操作。配置Configuration
将在以下情况下参与依赖项解析:
- 配置本身被解析
- 扩展此配置的另一个
Configuration
被解析 - 将此配置作为项目依赖项引用的另一个
Configuration
被解析
此方法对于指定配置的默认依赖项非常有用
configurations { conf } configurations['conf'].defaultDependencies { dependencies -> dependencies.add(owner.project.dependencies.create("org.gradle:my-util:1.0")) }
即使配置扩展了另一个非空Configuration
,它仍被视为空。
如果提供了多个操作,则每个操作都将执行,直到依赖项集合不再为空。剩余的操作将被忽略。
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 对象,包含对与此配置或其某个父配置相关的项目依赖项中所有具有指定名称的任务的依赖项。这些其他项目可能是此配置所依赖的项目,或者基于 useDependOn 参数依赖于此配置的、具有相似名称配置的项目。