Interface ModuleDependencyCapabilitiesHandler


public interface ModuleDependencyCapabilitiesHandler
The capabilities requested for a dependency. This is used in variant-aware dependency management, to select only variants which provide the requested capabilities. By default, Gradle will only look for variants which provide the "implicit" capability, which corresponds to the GAV coordinates of the component. If the user calls methods on this handler, then the requirements change and explicit capabilities are required.
Since:
5.3
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    requireCapabilities(Object... capabilityNotations)
    Requires multiple capabilities.
    void
    requireCapability(Object capabilityNotation)
    Requires a single capability.
    void
    requireFeature(String featureName)
    Require a capability of a component based on the name of the feature provided by the component.
    void
    Lazily require a capability of a component based on the name of the feature provided by the component.
  • Method Details

    • requireCapability

      void requireCapability(Object capabilityNotation)
      Requires a single capability.
      Parameters:
      capabilityNotation - the capability notation (e.g. group:name:version), Providers of any notation are also accepted
    • requireCapabilities

      void requireCapabilities(Object... capabilityNotations)
      Requires multiple capabilities. The selected variants MUST provide ALL of them to be selected.
      Parameters:
      capabilityNotations - the capability notations (e.g. group:name:version), Providers of any notation are also accepted
    • requireFeature

      @Incubating void requireFeature(String featureName)
      Require a capability of a component based on the name of the feature provided by the component.

      A capability is derived from a feature based on the module identity of the component that a dependency resolves to. For example, variant of a component with module identity 'group:name:version' that provides a feature named 'test-fixtures' would have a capability 'group:name-test-fixtures:version'.

      Parameters:
      featureName - The name of the feature to require
      Since:
      8.11
    • requireFeature

      @Incubating void requireFeature(Provider<String> featureName)
      Lazily require a capability of a component based on the name of the feature provided by the component.
      Parameters:
      featureName - The name of the feature to require
      Since:
      8.11
      See Also: