ResolvableConfiguration

注意:此类为孵化中,将来版本的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

这是一个旧版属性,其值不以任何方式影响依赖解析。无需读取此属性,此方法将在即将发布的Gradle版本中弃用。

方法

方法描述
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)

将给定的配置添加到此配置所扩展的配置集中。

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版本中弃用并移除。

有关为何不应使用此 API 的详细信息,请参阅ResolvedConfiguration

State state (只读)

配置的状态。

boolean transitive

此配置的传递性。传递配置包含其直接依赖项及其所有依赖项的传递闭包。非传递配置仅包含直接依赖项。默认值为true。

boolean visible

这是一个旧版属性,其值不以任何方式影响依赖解析。无需读取此属性,此方法将在即将发布的Gradle版本中弃用。

此属性的值不以任何方式决定配置的“可见性”或其项目间的可访问性。

方法详情

创建此配置的副本,该副本仅包含此配置中直接的依赖项(不包含来自超配置的贡献)。新配置将处于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)

将给定的配置添加到此配置所扩展的配置集中。

配置只允许扩展同一项目中的其他配置。

TaskDependency getTaskDependencyFromProjectDependency(boolean useDependedOn, String taskName)

返回一个TaskDependency对象,其中包含此配置或其某个超配置相关的项目依赖项中所有具有指定名称的任务的依赖项。这些其他项目可以是此配置所依赖的项目,也可以是根据useDependOn参数,具有类似名称配置并依赖于此配置的项目。