可消费配置 (ConsumableConfiguration)

注意:此类别是孵化中的特性,在未来的 Gradle 版本中可能会发生变化。

一种可以通过发布 (Publishing) 和依赖管理 (Dependency Management) 来消费的 Configuration

属性

属性描述
allArtifacts

此配置的工件,包括继承的配置的工件。

allDependencies

获取完整的已声明依赖集合,包括由超级配置 (superconfigurations) 贡献的依赖。

artifacts

此配置的工件,不包括继承的配置的工件。

buildDependencies

返回一个 TaskDependency 对象,包含构建属于此配置或其超级配置之一的本地依赖(例如项目依赖)所需的所有必需依赖。

dependencies

获取此配置中直接包含的已声明依赖集合(忽略超级配置)。

description

此配置的描述。

excludeRules

用于解析此配置的任何依赖项时应用的排除规则。

extendsFrom

此配置所继承的配置的名称。超级配置的工件在此配置中也可用。

hierarchy

获取一个有序集合,递归包含此配置及其所有超级配置。

incoming

返回一个 ResolvableDependencies 实例,暴露依赖解析的结果。此方法是消费依赖解析输出的主要方式。

resolutionStrategy

此配置使用的解析策略。解析策略提供了如何解析此配置的额外细节。有关更多信息和示例,请参阅 ResolutionStrategy 的文档。

resolvedConfiguration

返回一个 ResolvedConfiguration,它是依赖解析结果的遗留视图。新代码请避免使用此方法。建议通过 Configuration.getIncoming() 访问解析输出。此 API 将在未来的 Gradle 版本中被弃用和移除。

state

此配置的状态。

transitive

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

visible

如果此配置是可见的,则返回 true。可见配置可在其所属项目之外使用。默认值为 true。

方法

方法描述
copy()

创建此配置的副本,该副本仅包含此配置中直接包含的依赖项(不包含超级配置的贡献)。新配置将处于 UNRESOLVED 状态,但会保留此配置的所有其他属性,除了超级配置。副本的 Configuration.getHierarchy() 将不包含任何超级配置。

copy(dependencySpec)

接受一个闭包 (closure),该闭包被强制转换为 Spec。其他行为与 Configuration.copy(org.gradle.api.specs.Spec) 相同。

copy(dependencySpec)

创建此配置的副本,忽略超级配置(参见 Configuration.copy()),但使用指定的依赖规范 (dependency spec) 过滤依赖项。

copyRecursive()

创建此配置的副本,该副本包含此配置中直接包含的依赖项以及从超级配置派生的依赖项。新配置将处于 UNRESOLVED 状态,但会保留此配置的所有其他属性,除了超级配置。副本的 Configuration.getHierarchy() 将不包含任何超级配置。

copyRecursive(dependencySpec)

接受一个闭包,该闭包被强制转换为 Spec。其他行为与 Configuration.copyRecursive(org.gradle.api.specs.Spec) 相同。

copyRecursive(dependencySpec)

创建此配置的副本,包含来自超级配置的依赖项(参见 Configuration.copyRecursive()),但使用 dependencySpec 过滤依赖项。

defaultDependencies(action)

如果配置在首次参与依赖解析时没有定义依赖项,则执行给定的 action。Configuration 将在以下情况下参与依赖解析:

exclude(excludeProperties)

添加排除规则,以排除此配置的所有依赖项的传递依赖项。您也可以为每个依赖项添加排除规则。请参阅 ModuleDependency.exclude(java.util.Map)

extendsFrom(superConfigs)

将给定的配置添加到此配置所继承的配置集合中。

fileCollection(dependencySpecClosure)
已弃用

接受一个闭包,该闭包被强制转换为 Spec。其他行为与 Configuration.fileCollection(org.gradle.api.specs.Spec) 相同。

fileCollection(dependencies)
已弃用

惰性解析此配置。解析发生在首次访问返回的 FileCollection 的元素时。这会定位并下载构成此配置的文件。FileCollection 中仅包含属于指定依赖项的最终文件集合。

fileCollection(dependencySpec)
已弃用

惰性解析此配置。解析发生在首次访问返回的 FileCollection 的元素时。这会定位并下载构成此配置的文件。FileCollection 中仅包含属于由 dependencySpec 指定的依赖项子集的最终文件集合。

files(dependencySpecClosure)
已弃用

接受一个闭包,该闭包被强制转换为 Spec。其他行为与 Configuration.files(org.gradle.api.specs.Spec) 相同。

files(dependencies)
已弃用

解析此配置。这会定位并下载构成此配置的文件。但仅返回属于指定依赖项的最终文件集合。

files(dependencySpec)
已弃用

解析此配置。这会定位并下载构成此配置的文件。但仅返回属于由 dependencySpec 指定的依赖项子集的最终文件集合。

getTaskDependencyFromProjectDependency(useDependedOn, taskName)

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

脚本块

无脚本块

属性详情

PublishArtifactSet allArtifacts (只读)

此配置的工件,包括继承的配置的工件。

DependencySet allDependencies (只读)

获取完整的已声明依赖集合,包括由超级配置 (superconfigurations) 贡献的依赖。

此方法不解析配置。因此,返回值不包含传递依赖项。

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 (只读)

如果此配置是可见的,则返回 true。可见配置可在其所属项目之外使用。默认值为 true。

方法详情

创建此配置的副本,该副本仅包含此配置中直接包含的依赖项(不包含超级配置的贡献)。新配置将处于 UNRESOLVED 状态,但会保留此配置的所有其他属性,除了超级配置。副本的 Configuration.getHierarchy() 将不包含任何超级配置。

此方法仅适用于涉及可解析配置的特定情况,不应用作通用复制机制。

Configuration copy(Closure dependencySpec)

接受一个闭包 (closure),该闭包被强制转换为 Spec。其他行为与 Configuration.copy(org.gradle.api.specs.Spec) 相同。

此方法仅适用于涉及可解析配置的特定情况,不应用作通用复制机制。

Configuration copy(Spec<? super Dependency> dependencySpec)

创建此配置的副本,忽略超级配置(参见 Configuration.copy()),但使用指定的依赖规范 (dependency spec) 过滤依赖项。

此方法仅适用于涉及可解析配置的特定情况,不应用作通用复制机制。

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)

如果配置在首次参与依赖解析时没有定义依赖项,则执行给定的 action。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)

添加排除规则,以排除此配置的所有依赖项的传递依赖项。您也可以为每个依赖项添加排除规则。请参阅 ModuleDependency.exclude(java.util.Map)

Configuration extendsFrom(Configuration... superConfigs)

将给定的配置添加到此配置所继承的配置集合中。

配置只允许继承同一项目中的其他配置。

FileCollection fileCollection(Closure dependencySpecClosure)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

接受一个闭包,该闭包被强制转换为 Spec。其他行为与 Configuration.fileCollection(org.gradle.api.specs.Spec) 相同。

Dependency... dependencies)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

惰性解析此配置。解析发生在首次访问返回的 FileCollection 的元素时。这会定位并下载构成此配置的文件。FileCollection 中仅包含属于指定依赖项的最终文件集合。

FileCollection fileCollection(Spec<? super Dependency> dependencySpec)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

惰性解析此配置。解析发生在首次访问返回的 FileCollection 的元素时。这会定位并下载构成此配置的文件。FileCollection 中仅包含属于由 dependencySpec 指定的依赖项子集的最终文件集合。

Set<File> files(Closure dependencySpecClosure)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

接受一个闭包,该闭包被强制转换为 Spec。其他行为与 Configuration.files(org.gradle.api.specs.Spec) 相同。

Set<File> files(Dependency... dependencies)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

解析此配置。这会定位并下载构成此配置的文件。但仅返回属于指定依赖项的最终文件集合。

Set<File> files(Spec<? super Dependency> dependencySpec)

注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。

解析此配置。这会定位并下载构成此配置的文件。但仅返回属于由 dependencySpec 指定的依赖项子集的最终文件集合。

TaskDependency getTaskDependencyFromProjectDependency(boolean useDependedOn, String taskName)

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