# Interface PluginResolveDetails

public interface PluginResolveDetails
Allows plugin resolution rules to inspect a requested plugin and modify which target plugin will be used.

Since:
  3.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PluginRequest`
  `getRequested()`
  Get the plugin that was requested.
  `PluginRequest`
  `getTarget()`
  The target plugin request to use.
  `void`
  `useModule(Object notation)`
  Sets the implementation module to use for this plugin.
  `void`
  `useVersion(@Nullable String version)`
  Sets the version of the plugin to use.

- ## Method Details

  - ### getRequested

    PluginRequest getRequested()
    Get the plugin that was requested.

  - ### useModule

    void useModule(Object notation)
    Sets the implementation module to use for this plugin.

    It accepts the following notations:

    - String in a format of: 'group:name:version', for example: 'org.gradle:gradle-core:1.0'
    - Map with keys 'group', 'name' and 'version'; for example: [group: 'org.gradle', name: 'gradle-core', version: '1.0']
    - `Provider` and `ProviderConvertible` of `MinimalExternalModuleDependency`
    - instance of `ExternalDependency`
    - instance of `ModuleComponentSelector`
    - instance of `ModuleVersionSelector` (deprecated)
    Parameters:
      `notation` - the module to use

  - ### useVersion

    void useVersion(@Nullable String version)
    Sets the version of the plugin to use.
    Parameters:
      `version` - version to use

  - ### getTarget

    PluginRequest getTarget()
    The target plugin request to use.