API 文档 | ResolvableConfiguration |
---|
注意:此类处于孵化阶段,将来版本的 Gradle 中可能会发生变化。
一个执行依赖解析以构建依赖图并解析 artifact 的Configuration
。
属性 | 描述 |
allArtifacts | 此 configuration 的 artifact,包括扩展的 configuration 的 artifact。 |
allDependencies | 获取声明依赖的完整集合,包括由 superconfiguration 贡献的依赖。 |
artifacts | 此 configuration 的 artifact,不包括扩展的 configuration 的 artifact。 |
buildDependencies | 返回一个 |
dependencies | 获取直接包含在此 configuration 中(忽略 superconfiguration)声明依赖的集合。 |
description | 此 configuration 的描述。 |
excludeRules | 为解析此 configuration 的任何依赖而应用的排除规则。 |
extendsFrom | 此 configuration 扩展自的 configuration 名称。superconfiguration 的 artifact 也在此 configuration 中可用。 |
hierarchy | 获取一个有序集合,递归包含此 configuration 和所有 superconfiguration。 |
incoming | 返回一个 |
resolutionStrategy | 此 configuration 使用的解析策略。解析策略提供了如何解析此 configuration 的额外详情。有关更多信息和示例,请参阅 |
resolvedConfiguration | 返回一个 |
state | configuration 的状态。 |
transitive | 此 configuration 的传递性。一个传递性 configuration 包含其直接依赖及其所有依赖的传递闭包。一个非传递性 configuration 只包含直接依赖。默认值为 true。 |
visible | 如果这是一个可见的 configuration,则返回 true。可见的 configuration 可在其所属项目之外使用。默认值为 true。 |
方法 | 描述 |
copy() | 创建此 configuration 的副本,该副本仅包含直接在此 configuration 中的依赖(不包含 superconfiguration 的贡献)。新 configuration 将处于 UNRESOLVED 状态,但将保留此 configuration 的所有其他属性,除了 superconfiguration。 |
copy(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copy(dependencySpec) | 创建此 configuration 的副本,忽略 superconfiguration(参见 |
copyRecursive() | 创建此 configuration 的副本,该副本包含直接在此 configuration 中的依赖以及从 superconfiguration 派生的依赖。新 configuration 将处于 UNRESOLVED 状态,但将保留此 configuration 的所有其他属性,除了 superconfiguration。 |
copyRecursive(dependencySpec) | 接受一个闭包,该闭包被强制转换为 |
copyRecursive(dependencySpec) | 创建此 configuration 的副本,包含来自 superconfiguration 的依赖(参见 |
defaultDependencies(action) | 如果此 configuration 在首次参与依赖解析时没有定义依赖,则执行给定的 action。以下情况会使 |
exclude(excludeProperties) | 添加一个排除规则,以排除此 configuration 所有依赖的传递依赖。您也可以为每个依赖添加排除规则。参见 |
extendsFrom(superConfigs) | 将给定的 configuration 添加到此 configuration 扩展自的 configuration 集合中。 |
fileCollection(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
fileCollection(dependencies) | 已弃用 延迟解析此 configuration。解析发生在首次访问返回的 |
fileCollection(dependencySpec) | 已弃用 延迟解析此 configuration。解析发生在首次访问返回的 |
files(dependencySpecClosure) | 已弃用 接受一个闭包,该闭包被强制转换为 |
files(dependencies) | 已弃用 解析此 configuration。这将定位并下载构成此 configuration 的文件。但只返回属于指定依赖的最终文件集合。 |
files(dependencySpec) | 已弃用 解析此 configuration。这将定位并下载构成此 configuration 的文件。但只返回属于 dependencySpec 指定的依赖子集的最终文件集合。 |
getTaskDependencyFromProjectDependency(useDependedOn, taskName) | 返回一个 TaskDependency 对象,其中包含与此 configuration 或其 super configuration 相关的项目依赖中所有指定名称的任务的依赖关系。根据 useDependOn 参数,这些其他项目可能是此 configuration 依赖的项目,或是具有类似名称的 configuration 依赖于此 configuration 的项目。 |
PublishArtifactSet
allArtifacts
(只读)
此 configuration 的 artifact,包括扩展的 configuration 的 artifact。
DependencySet
allDependencies
(只读)
获取声明依赖的完整集合,包括由 superconfiguration 贡献的依赖。
此方法不解析 configuration。因此,返回值不包含传递依赖。
PublishArtifactSet
artifacts
(只读)
此 configuration 的 artifact,不包括扩展的 configuration 的 artifact。
TaskDependency
buildDependencies
(只读)
返回一个TaskDependency
对象,其中包含构建属于此 configuration 或其 super configuration 的本地依赖(例如项目依赖)所需的所有依赖。
DependencySet
dependencies
(只读)
获取直接包含在此 configuration 中(忽略 superconfiguration)声明依赖的集合。
此方法不解析 configuration。因此,返回值不包含传递依赖。
String
description
此 configuration 的描述。
Set
<ExcludeRule
>
excludeRules
(只读)
Set
<ExcludeRule
>为解析此 configuration 的任何依赖而应用的排除规则。
Set
<Configuration
>
extendsFrom
Set
<Configuration
>此 configuration 扩展自的 configuration 名称。superconfiguration 的 artifact 也在此 configuration 中可用。
Set
<Configuration
>
hierarchy
(只读)
Set
<Configuration
>获取一个有序集合,递归包含此 configuration 和所有 superconfiguration。
ResolvableDependencies
incoming
(只读)
返回一个ResolvableDependencies
实例,暴露依赖解析的结果。此方法是消费依赖解析输出的主要方式。
ResolutionStrategy
resolutionStrategy
(只读)
此 configuration 使用的解析策略。解析策略提供了如何解析此 configuration 的额外详情。有关更多信息和示例,请参阅ResolutionStrategy
的文档。
ResolvedConfiguration
resolvedConfiguration
(只读)
返回一个ResolvedConfiguration
,这是依赖解析结果的旧式视图。新代码应避免使用此方法。优先通过Configuration.getIncoming()
访问解析输出。此 API 将在未来的 Gradle 版本中被弃用并移除。
有关为何不应使用此 API 的详细信息,请参阅ResolvedConfiguration
。
此 configuration 的传递性。一个传递性 configuration 包含其直接依赖及其所有依赖的传递闭包。一个非传递性 configuration 只包含直接依赖。默认值为 true。
Configuration
copy
()
创建此 configuration 的副本,该副本仅包含直接在此 configuration 中的依赖(不包含 superconfiguration 的贡献)。新 configuration 将处于 UNRESOLVED 状态,但将保留此 configuration 的所有其他属性,除了 superconfiguration。Configuration.getHierarchy()
对于副本将不包含任何 superconfiguration。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
copy
(Closure
dependencySpec)
接受一个闭包,该闭包被强制转换为Spec
。其他行为与Configuration.copy(org.gradle.api.specs.Spec)
相同。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
copy
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>创建此 configuration 的副本,忽略 superconfiguration(参见Configuration.copy()
),但使用指定的依赖规范过滤依赖。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
copyRecursive
()
创建此 configuration 的副本,该副本包含直接在此 configuration 中的依赖以及从 superconfiguration 派生的依赖。新 configuration 将处于 UNRESOLVED 状态,但将保留此 configuration 的所有其他属性,除了 superconfiguration。Configuration.getHierarchy()
对于副本将不包含任何 superconfiguration。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
copyRecursive
(Closure
dependencySpec)
接受一个闭包,该闭包被强制转换为Spec
。其他行为与Configuration.copyRecursive(org.gradle.api.specs.Spec)
相同。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
copyRecursive
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>创建此 configuration 的副本,包含来自 superconfiguration 的依赖(参见Configuration.copyRecursive()
),但使用 dependencySpec 过滤依赖。
此方法仅适用于涉及可解析 configuration 的特定情况,并非通用的复制机制。
Configuration
defaultDependencies
(Action
<? super DependencySet
>
action)
Action
<? super DependencySet
>如果此 configuration 在首次参与依赖解析时没有定义依赖,则执行给定的 action。以下情况会使Configuration
参与依赖解析:
- 对
Configuration
本身进行解析 - 对扩展此 configuration 的另一个
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
>添加一个排除规则,以排除此 configuration 所有依赖的传递依赖。您也可以为每个依赖添加排除规则。参见ModuleDependency.exclude(java.util.Map)
。
Configuration
extendsFrom
(Configuration
...
superConfigs)
Configuration
...将给定的 configuration 添加到此 configuration 扩展自的 configuration 集合中。
Configuration 只允许扩展同一项目中的其他 configuration。
FileCollection
fileCollection
(Closure
dependencySpecClosure)
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
接受一个闭包,该闭包被强制转换为Spec
。其他行为与Configuration.fileCollection(org.gradle.api.specs.Spec)
相同。
Dependency
FileCollection
fileCollection
(...
dependencies)
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
延迟解析此 configuration。解析发生在首次访问返回的FileCollection
元素时。这将定位并下载构成此 configuration 的文件。FileCollection 中仅包含属于指定依赖的最终文件集合。
FileCollection
fileCollection
(Spec
<? super Dependency
>
dependencySpec)
Spec
<? super Dependency
>注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
延迟解析此 configuration。解析发生在首次访问返回的FileCollection
元素时。这将定位并下载构成此 configuration 的文件。FileCollection 中仅包含属于 dependencySpec 指定的依赖子集的最终文件集合。
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
接受一个闭包,该闭包被强制转换为Spec
。其他行为与Configuration.files(org.gradle.api.specs.Spec)
相同。
Set
<File
>
files
(Dependency
...
dependencies)
Set
<File
>Dependency
...注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
解析此 configuration。这将定位并下载构成此 configuration 的文件。但只返回属于指定依赖的最终文件集合。
Set
<File
>
files
(Spec
<? super Dependency
>
dependencySpec)
Set
<File
>Spec
<? super Dependency
>注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
解析此 configuration。这将定位并下载构成此 configuration 的文件。但只返回属于 dependencySpec 指定的依赖子集的最终文件集合。
TaskDependency
getTaskDependencyFromProjectDependency
(boolean
useDependedOn, String
taskName)
返回一个 TaskDependency 对象,其中包含与此 configuration 或其 super configuration 相关的项目依赖中所有指定名称的任务的依赖关系。根据 useDependOn 参数,这些其他项目可能是此 configuration 依赖的项目,或是具有类似名称的 configuration 依赖于此 configuration 的项目。