ConsumableConfiguration

注意:此类为孵化中,将来版本的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 参数,是具有类似名称的配置所依赖此配置的项目。