一个 DependencyConstraintHandler
用于声明依赖约束。
支持几种依赖约束表示法。这些将在下面描述。对于以这种方式声明的每个依赖约束,都会创建一个 DependencyConstraint
对象。你可以使用此对象查询或进一步配置依赖约束。
你也可以直接添加 DependencyConstraint
的实例
configurationName(<实例>)
依赖约束也可以使用提供任何其他支持的依赖约束表示法的 Provider
来声明。
支持两种表示法来声明外部模块的依赖约束。一种是按以下格式的字符串表示法
configurationName("group:name:version")
另一种是 map 表示法
configurationName(group: group, name: name, version: version)
在这两种表示法中,除 name 外,所有属性都是可选的。
plugins { id("java-library") // so that we can use 'implementation', 'testImplementation' for dependency constraints } dependencies { constraints { //for dependencies found in artifact repositories you can use //the string notation, e.g. group:name:version implementation 'commons-lang:commons-lang:2.6' testImplementation 'org.mockito:mockito:1.9.0-rc1' //map notation: implementation group: 'com.google.code.guice', name: 'guice', version: '1.0' } }
方法 | 描述 |
add(configurationName, dependencyNotation) | 将依赖约束添加到给定的配置。 |
add(configurationName, dependencyNotation, configureAction) | 将依赖约束添加到给定的配置,并使用给定的闭包配置该依赖约束。 |
create(dependencyConstraintNotation) | 创建一个依赖约束,但不将其添加到配置中。 |
create(dependencyConstraintNotation, configureAction) | 创建一个依赖约束,但不将其添加到配置中,并使用给定的闭包配置该依赖约束。 |
enforcedPlatform(notation) | 声明一个强制平台的约束。如果目标坐标表示多个潜在组件,将选择平台组件而不是库。强制平台是一种其直接依赖项被强制执行的平台,这意味着它们将覆盖图中找到的任何其他版本。 |
enforcedPlatform(notation, configureAction) | 声明一个强制平台的约束。如果目标坐标表示多个潜在组件,将选择平台组件而不是库。强制平台是一种其直接依赖项被强制执行的平台,这意味着它们将覆盖图中找到的任何其他版本。 |
DependencyConstraint
add
(String
configurationName, Object
dependencyNotation)
将依赖约束添加到给定的配置。
DependencyConstraint
add
(String
configurationName, Object
dependencyNotation, Action
<? super DependencyConstraint
>
configureAction)
Action
<? super DependencyConstraint
>将依赖约束添加到给定的配置,并使用给定的闭包配置该依赖约束。
DependencyConstraint
create
(Object
dependencyConstraintNotation)
创建一个依赖约束,但不将其添加到配置中。
DependencyConstraint
create
(Object
dependencyConstraintNotation, Action
<? super DependencyConstraint
>
configureAction)
Action
<? super DependencyConstraint
>创建一个依赖约束,但不将其添加到配置中,并使用给定的闭包配置该依赖约束。
DependencyConstraint
enforcedPlatform
(Object
notation)
声明一个强制平台的约束。如果目标坐标表示多个潜在组件,将选择平台组件而不是库。强制平台是一种其直接依赖项被强制执行的平台,这意味着它们将覆盖图中找到的任何其他版本。
DependencyConstraint
enforcedPlatform
(Object
notation, Action
<? super DependencyConstraint
>
configureAction)
Action
<? super DependencyConstraint
>声明一个强制平台的约束。如果目标坐标表示多个潜在组件,将选择平台组件而不是库。强制平台是一种其直接依赖项被强制执行的平台,这意味着它们将覆盖图中找到的任何其他版本。