Interface DependencySubstitution


public interface DependencySubstitution
Provides means to substitute a different dependency during resolution.
Since:
2.5
  • Method Details

    • getRequested

      ComponentSelector getRequested()
      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

      void useTarget(Object notation)
      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
      Parameters:
      notation - the notation that gets parsed into an instance of ComponentSelector.
    • useTarget

      void useTarget(Object notation, String reason)
      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
      Parameters:
      notation - the notation that gets parsed into an instance of ComponentSelector.
      Since:
      4.5
    • artifactSelection

      void artifactSelection(Action<? super ArtifactSelectionDetails> action)
      Configures the artifact selection for the substitution. This is a convenience method which allows selecting, typically, different artifact classifiers for the same component. Artifact selection matters for components which are not published with Gradle Module Metadata and therefore do not provide proper variants to reason with.
      Parameters:
      action - the artifact selection configuration action
      Since:
      6.6