Package org.gradle.api.artifacts.dsl
Interface DependencyConstraintHandler
@ServiceScope(org.gradle.internal.service.scopes.Scope.Project.class)
public interface 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 Provider
that provides any of the other supported dependency constraint notations.
External dependencies
Module dependencies are declared using single-string notation, where each coordinate is separated by a colon. All properties, except the name, are optional.configurationName("group:name:version")
plugins { id("java-library") } dependencies { constraints { // Declaring constraints on module components // Coordinates are separated by a single colon -- group:name:version implementation("org.apache.commons:commons-lang3:3.17.0") testImplementation("org.mockito:mockito-core:5.18.0") } }
Project dependencies
To add a project dependency constraint, you use the following notation:
configurationName(project(":some-project"))
- Since:
- 4.5
-
Method Summary
Modifier and TypeMethodDescriptionAdds a dependency constraint to the given configuration.add
(String configurationName, Object dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.<T> void
addProvider
(String configurationName, Provider<T> dependencyNotation) Adds a dependency constraint provider to the given configuration.<T> void
addProvider
(String configurationName, Provider<T> dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.<T> void
addProviderConvertible
(String configurationName, ProviderConvertible<T> dependencyNotation) Adds a dependency constraint provider to the given configuration.<T> void
addProviderConvertible
(String configurationName, ProviderConvertible<T> dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.Creates a dependency constraint without adding it to a configuration.create
(Object dependencyConstraintNotation, Action<? super DependencyConstraint> configureAction) Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.enforcedPlatform
(Object notation) Declares a constraint on an enforced platform.enforcedPlatform
(Object notation, Action<? super DependencyConstraint> configureAction) Declares a constraint on an enforced platform.
-
Method Details
-
add
Adds a dependency constraint to the given configuration.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notation
-
add
DependencyConstraint add(String configurationName, Object dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notationconfigureAction
- The closure to use to configure the dependency constraint.
-
addProvider
Adds a dependency constraint provider to the given configuration.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notation provider, in one of the notations described above.- Since:
- 8.12
-
addProvider
<T> void addProvider(String configurationName, Provider<T> dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notation provider, in one of the notations described above.configureAction
- The action to use to configure the dependency constraint.- Since:
- 8.12
-
addProviderConvertible
<T> void addProviderConvertible(String configurationName, ProviderConvertible<T> dependencyNotation) Adds a dependency constraint provider to the given configuration.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notation provider, in one of the notations described above.- Since:
- 8.12
-
addProviderConvertible
<T> void addProviderConvertible(String configurationName, ProviderConvertible<T> dependencyNotation, Action<? super DependencyConstraint> configureAction) Adds a dependency constraint provider to the given configuration, eventually configures the dependency constraint using the given action.- Parameters:
configurationName
- The name of the configuration.dependencyNotation
- The dependency constraint notation provider, in one of the notations described above.configureAction
- The action to use to configure the dependency constraint.- Since:
- 8.12
-
create
Creates a dependency constraint without adding it to a configuration.- Parameters:
dependencyConstraintNotation
- The dependency constraint notation.
-
create
DependencyConstraint create(Object dependencyConstraintNotation, Action<? super DependencyConstraint> configureAction) Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.- Parameters:
dependencyConstraintNotation
- The dependency constraint notation.configureAction
- The closure to use to configure the dependency.
-
enforcedPlatform
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.- Parameters:
notation
- the coordinates of the platform- Since:
- 5.0
-
enforcedPlatform
DependencyConstraint enforcedPlatform(Object notation, Action<? super DependencyConstraint> 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.- Parameters:
notation
- the coordinates of the platformconfigureAction
- the dependency configuration block- Since:
- 5.0
-