api / org.gradle.api.artifacts / DependencySubstitution

DependencySubstitution

@Incubating interface DependencySubstitution

Provides means to substitute a different dependency during resolution.

Since
2.5

Functions

getRequested

abstract fun getRequested(): ComponentSelector

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

useTarget

abstract fun useTarget(notation: Any): Unit

This method can be used to replace a dependency before it is resolved, e.g. change group, name or version (or all three of them), or replace it with a project dependency. Accepted notations are:

  • Strings encoding group:module:version, like 'org.gradle:gradle-core:2.4'
  • Maps like [group: 'org.gradle', name: 'gradle-core', version: '2.4']
  • Project instances like project(":api")
  • Any instance of ModuleComponentSelector or ProjectComponentSelector

abstract fun useTarget(notation: Any, reason: String): Unit

This method can be used to replace a dependency before it is resolved, e.g. change group, name or version (or all three of them), or replace it with a project dependency and provides a human readable reason for diagnostics. Accepted notations are:

  • Strings encoding group:module:version, like 'org.gradle:gradle-core:2.4'
  • Maps like [group: 'org.gradle', name: 'gradle-core', version: '2.4']
  • Project instances like project(":api")
  • Any instance of ModuleComponentSelector or ProjectComponentSelector