Configuration

API 文档Configuration

Configuration 代表一组制品及其依赖项。有关声明配置的依赖项或管理配置的更多信息,请参阅 ConfigurationContainer 的文档。

Configuration 是 FileCollection 的一个实例,它包含所有依赖项(另请参阅 Configuration.getAllDependencies())但不包含制品。如果您想引用在此配置中声明的制品,请使用 Configuration.getArtifacts()Configuration.getAllArtifacts()。有关在配置中声明制品的更多信息,请参阅 ArtifactHandler 的文档。请参阅声明依赖项用户手册章节以获取更多信息。

属性

属性描述
allArtifacts

此配置的制品,包括扩展配置的制品。

allDependencies

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

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)

接受一个闭包,该闭包被强制转换为 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)

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

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

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

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

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)

接受一个闭包,该闭包被强制转换为 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)

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

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

FileCollection fileCollection(Closure dependencySpecClosure)

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

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

FileCollection fileCollection(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 参数依赖于此配置。