| API Documentation: | DependencyConstraintHandler | 
|---|
A DependencyConstraintHandler is used to declare dependency constraints.
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 Provider that provides any of the other supported dependency constraint notations.
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'
  }
}
| Method | Description | 
| add(configurationName, dependencyNotation) | Adds a dependency constraint to the given configuration. | 
| add(configurationName, dependencyNotation, configureAction) | Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure. | 
| create(dependencyConstraintNotation) | Creates a dependency constraint without adding it to a configuration. | 
| create(dependencyConstraintNotation, configureAction) | Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure. | 
| enforcedPlatform(notation) | Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph. | 
| enforcedPlatform(notation, configureAction) | Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph. | 
DependencyConstraint add(String configurationName, Object dependencyNotation)
Adds a dependency constraint to the given configuration.
DependencyConstraint add(String configurationName, Object dependencyNotation, Action<? super DependencyConstraint>
Action<? super DependencyConstraint>Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.
DependencyConstraint create(Object dependencyConstraintNotation)
Creates a dependency constraint without adding it to a configuration.
DependencyConstraint create(Object dependencyConstraintNotation, Action<? super DependencyConstraint>
Action<? super DependencyConstraint>Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.
DependencyConstraint enforcedPlatform(Object notation)
Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.
DependencyConstraint enforcedPlatform(Object notation, Action<? super DependencyConstraint>
Action<? super DependencyConstraint>Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.