DependencyConstraintHandler

A DependencyConstraintHandler is used to declare dependency constraints.

Dependency constraint notations

There are several supported dependency constraint notations. These are described below. For each dependency constraint declared this way, a DependencyConstraint object is created. You can use this object to query or further configure the dependency constraint.

You can also always add instances of DependencyConstraint directly:

configurationName(<instance>)

Dependency constraints can also be declared with a org.gradle.api.provider.Provider that provides any of the other supported dependency constraint notations.

External dependencies

There are two notations supported for declaring a dependency constraint on an external module. One is a string notation formatted this way:

configurationName("group:name:version")

The other is a map notation:

configurationName(group: group, name: name, version: version)

In both notations, all properties, except name, are optional.

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'
  }
}

Project dependencies

To add a project dependency constraint, you use the following notation:

configurationName(project(":some-project"))

Since

4.5

Functions

Link copied to clipboard
abstract fun add(configurationName: String, dependencyNotation: Any): DependencyConstraint
Adds a dependency constraint to the given configuration.
abstract fun add(configurationName: String, dependencyNotation: Any, configureAction: Action<in DependencyConstraint>): DependencyConstraint
Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.
Link copied to clipboard
abstract fun <T> addProvider(configurationName: String, dependencyNotation: Provider<T>)
Adds a dependency constraint provider to the given configuration.
abstract fun <T> addProvider(configurationName: String, dependencyNotation: Provider<T>, configureAction: Action<in DependencyConstraint>)
Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.
Link copied to clipboard
abstract fun <T> addProviderConvertible(configurationName: String, dependencyNotation: ProviderConvertible<T>)
Adds a dependency constraint provider to the given configuration.
abstract fun <T> addProviderConvertible(configurationName: String, dependencyNotation: ProviderConvertible<T>, configureAction: Action<in DependencyConstraint>)
Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.
Link copied to clipboard
abstract fun create(dependencyConstraintNotation: Any): DependencyConstraint
Creates a dependency constraint without adding it to a configuration.
abstract fun create(dependencyConstraintNotation: Any, configureAction: Action<in DependencyConstraint>): DependencyConstraint
Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.
Link copied to clipboard
abstract fun enforcedPlatform(notation: Any): DependencyConstraint
abstract fun enforcedPlatform(notation: Any, configureAction: Action<in DependencyConstraint>): DependencyConstraint
Declares a constraint on an enforced platform.
Link copied to clipboard

Configures the dependency constraints.