注意:此类为孵化中,将来版本的Gradle中可能会有变动。
一个 Configuration
,用于收集依赖、依赖约束和排除规则。
属性 | 描述 |
allArtifacts | 此配置的所有工件,包括扩展配置的工件。 |
allDependencies | 获取声明依赖项的完整集合,包括由超配置贡献的依赖项。 |
artifacts | 此配置的工件,不包括扩展配置的工件。 |
buildDependencies | 返回一个 |
dependencies | 获取直接包含在此配置中的声明依赖项集(忽略超配置)。 |
description | 此配置的描述。 |
excludeRules | 用于解析此配置的任何依赖项的排除规则。 |
extendsFrom | 此配置所扩展的配置名称。超配置的工件也在此配置中可用。 |
hierarchy | 获取一个有序集合,包括此配置及其所有超配置的递归。 |
incoming | 返回一个 |
resolutionStrategy | 此配置使用的解析策略。解析策略提供了有关如何解析此配置的额外详细信息。有关更多信息和示例,请参阅 |
resolvedConfiguration | 返回一个 |
state | 配置的状态。 |
transitive | 此配置的传递性。传递配置包含其直接依赖项及其所有依赖项的传递闭包。非传递配置仅包含直接依赖项。默认值为true。 |
visible | 这是一个旧版属性,其值不以任何方式影响依赖解析。无需读取此属性,此方法将在即将发布的Gradle版本中弃用。 |
方法 | 描述 |
copy() | 创建此配置的副本,该副本仅包含此配置中直接的依赖项(不包含来自超配置的贡献)。新配置将处于 UNRESOLVED 状态,但将保留此配置的所有其他属性,除了超配置。 |
copy(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copy(dependencySpec) | 创建此配置的副本,忽略超配置(参见 |
copyRecursive() | 创建此配置的副本,该副本包含此配置中直接的依赖项以及从超配置派生的依赖项。新配置将处于 UNRESOLVED 状态,但将保留此配置的所有其他属性,除了超配置。 |
copyRecursive(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copyRecursive(dependencySpec) | 创建此配置的副本,包含来自超配置的依赖项(参见 |
defaultDependencies(action) | 如果配置在首次参与依赖解析时没有定义依赖项,则执行给定的操作。 |
exclude(excludeProperties) | 为所有此配置的依赖项添加一个排除规则,以排除传递依赖项。您也可以为每个依赖项添加排除规则。参见 |
extendsFrom(superConfigs) | 将给定的配置添加到此配置所扩展的配置集中。 |
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)
。
TaskDependency
getTaskDependencyFromProjectDependency
(boolean
useDependedOn, String
taskName)
返回一个 TaskDependency 对象,其中包含与此配置或其超配置相关的项目依赖项中所有指定名称的任务的依赖项。这些其他项目可能是此配置依赖的项目,也可能是具有类似名称的配置依赖于此配置的项目(根据 useDependOn 参数)。