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) | 如果配置在首次参与依赖项解析时没有定义的依赖项,则执行给定的操作。 |
exclude(excludeProperties) | 添加排除规则以排除此配置的所有依赖项的传递依赖项。您还可以为每个依赖项添加排除规则。请参阅 |
extendsFrom(superConfigs) | 将给定的配置添加到此配置扩展自的配置集合中。 |
fileCollection(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
fileCollection(dependencies) | 已弃用 延迟解析此配置。当第一次访问返回的 |
fileCollection(dependencySpec) | 已弃用 延迟解析此配置。当第一次访问返回的 |
files(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
files(dependencies) | 已弃用 解析此配置。这将定位并下载构成此配置的文件。但仅返回属于指定依赖项的结果文件集。 |
files(dependencySpec) | 已弃用 解析此配置。这将定位并下载构成此配置的文件。但仅返回属于 dependencySpec 指定的依赖项子集的结果文件集。 |
getTaskDependencyFromProjectDependency(useDependedOn, taskName) | 返回一个 TaskDependency 对象,其中包含来自与此配置或其超级配置之一相关的项目依赖项的所有具有指定名称的任务的依赖项。这些其他项目可能是此配置依赖的项目,也可能是具有类似命名配置的项目,这些项目基于 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 版本中被弃用和删除。
有关为什么不应使用此 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()
),但使用指定的依赖项规范过滤依赖项。
此方法仅用于涉及可解析配置的特定情况,不 旨在作为通用的复制机制。
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
被解析时 - 当将此配置作为项目依赖项引用的另一个
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)
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 参数依赖于此配置。