api / org.gradle.api.artifacts / DependencyResolveDetails

DependencyResolveDetails

@Incubating interface DependencyResolveDetails

Provides details about a dependency when it is resolved. Provides means to manipulate dependency metadata when it is resolved.

Since
1.4

Functions

because

abstract fun because(description: String): DependencyResolveDetails

Sets a human readable description for the reason the component is selected. The description will only be used if the rule is actually selecting a target, either using #useVersion(String) or #useTarget(Object)

getRequested

abstract fun getRequested(): ModuleVersionSelector

The module, before it is resolved. The requested module does not change even if there are multiple dependency resolve rules that manipulate the dependency metadata.

getTarget

abstract fun getTarget(): ModuleVersionSelector

The target module selector used to resolve the dependency. Never returns null. Target module is updated when methods like #useVersion(String) are used.

useTarget

abstract fun useTarget(notation: Any): Unit

Allows to override the details of the dependency (see #getTarget()) when it is resolved (see #getRequested()). This method can be used to change the dependency before it is resolved, e.g. change group, name or version (or all three of them). In many cases users are interested in changing the version. For such scenario you can use the #useVersion(String) method.

useVersion

abstract fun useVersion(version: String): Unit

Allows to override the version when the dependency #getRequested() is resolved. Can be used to select a version that is different than requested. Forcing modules via ResolutionStrategy#force(Object...) uses this capability. Configuring a version different than requested will cause #getTarget() method return a target module with updated target version.

If you need to change not only the version but also group or name please use the #useTarget(Object) method.