Package org.gradle.api.artifacts.repositories

## Interface RepositoryContentDescriptor

- All Superinterfaces:
    `InclusiveRepositoryContentDescriptor`
  All Known Subinterfaces:
    `MavenRepositoryContentDescriptor`

      public interface RepositoryContentDescriptor
      extends InclusiveRepositoryContentDescriptor

  Descriptor of a repository content, used to avoid reaching to an external repository when not needed.

  Excludes are applied after includes. This means that by default, everything is included and nothing excluded. If includes are added, then if the module doesn't match any of the includes, it's excluded. Then if it does, but it also matches one of the excludes, it's also excluded.

  Since:
    5.1

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `excludeGroup​(String group)` | Declares that an entire group shouldn't be searched for in this repository.
    `void` | `excludeGroupByRegex​(String groupRegex)` | Declares that an entire group shouldn't be searched for in this repository.
    `void` | `excludeModule​(String group, String moduleName)` | Declares that an entire module shouldn't be searched for in this repository.
    `void` | `excludeModuleByRegex​(String groupRegex, String moduleNameRegex)` | Declares that an entire module shouldn't be searched for in this repository, using regular expressions.
    `void` | `excludeVersion​(String group, String moduleName, String version)` | Declares that a specific module version shouldn't be searched for in this repository.
    `void` | `excludeVersionByRegex​(String groupRegex, String moduleNameRegex, String versionRegex)` | Declares that a specific module version shouldn't be searched for in this repository, using regular expressions.
    `void` | `includeGroup​(String group)` | Declares that an entire group should be searched for in this repository.
    `void` | `includeGroupByRegex​(String groupRegex)` | Declares that an entire group should be searched for in this repository.
    `void` | `includeModule​(String group, String moduleName)` | Declares that an entire module should be searched for in this repository.
    `void` | `includeModuleByRegex​(String groupRegex, String moduleNameRegex)` | Declares that an entire module should be searched for in this repository, using regular expressions.
    `void` | `includeVersion​(String group, String moduleName, String version)` | Declares that a specific module version should be searched for in this repository.
    `void` | `includeVersionByRegex​(String groupRegex, String moduleNameRegex, String versionRegex)` | Declares that a specific module version should be searched for in this repository, using regular expressions.
    `void` | `notForConfigurations​(String... configurationNames)` | Declares that this repository should not be used for a specific set of configurations.
    `<T> void` | `onlyForAttribute​(Attribute<T> attribute, T... validValues)` | Declares that this repository will only be searched if the consumer requires a specific attribute.
    `void` | `onlyForConfigurations​(String... configurationNames)` | Declares that this repository should only be used for a specific set of configurations.

- - ### Method Detail

    - #### includeGroup

          void includeGroup​(String group)

      Declares that an entire group should be searched for in this repository.
      Specified by:
        `includeGroup` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `group` - the group name

    - #### includeGroupByRegex

          void includeGroupByRegex​(String groupRegex)

      Declares that an entire group should be searched for in this repository.
      Specified by:
        `includeGroupByRegex` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `groupRegex` - a regular expression of the group name

    - #### includeModule

          void includeModule​(String group,
                             String moduleName)

      Declares that an entire module should be searched for in this repository.
      Specified by:
        `includeModule` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `group` - the group name
        `moduleName` - the module name

    - #### includeModuleByRegex

          void includeModuleByRegex​(String groupRegex,
                                    String moduleNameRegex)

      Declares that an entire module should be searched for in this repository, using regular expressions.
      Specified by:
        `includeModuleByRegex` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `groupRegex` - the group name regular expression
        `moduleNameRegex` - the module name regular expression

    - #### includeVersion

          void includeVersion​(String group,
                              String moduleName,
                              String version)

      Declares that a specific module version should be searched for in this repository.

      The version notation supports range notations like `[1.0,2.0[`.

      Specified by:
        `includeVersion` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `group` - the group name
        `moduleName` - the module name
        `version` - the module version

    - #### includeVersionByRegex

          void includeVersionByRegex​(String groupRegex,
                                     String moduleNameRegex,
                                     String versionRegex)

      Declares that a specific module version should be searched for in this repository, using regular expressions.

      The version notation for a regex will be matched against a single version and does not support range notations.

      Specified by:
        `includeVersionByRegex` in interface `InclusiveRepositoryContentDescriptor`
      Parameters:
        `groupRegex` - the group name regular expression
        `moduleNameRegex` - the module name regular expression
        `versionRegex` - the module version regular expression

    - #### excludeGroup

          void excludeGroup​(String group)

      Declares that an entire group shouldn't be searched for in this repository.
      Parameters:
        `group` - the group name

    - #### excludeGroupByRegex

          void excludeGroupByRegex​(String groupRegex)

      Declares that an entire group shouldn't be searched for in this repository.
      Parameters:
        `groupRegex` - the group name regular expression

    - #### excludeModule

          void excludeModule​(String group,
                             String moduleName)

      Declares that an entire module shouldn't be searched for in this repository.
      Parameters:
        `group` - the group name
        `moduleName` - the module name

    - #### excludeModuleByRegex

          void excludeModuleByRegex​(String groupRegex,
                                    String moduleNameRegex)

      Declares that an entire module shouldn't be searched for in this repository, using regular expressions.
      Parameters:
        `groupRegex` - the group name regular expression
        `moduleNameRegex` - the module name regular expression

    - #### excludeVersion

          void excludeVersion​(String group,
                              String moduleName,
                              String version)

      Declares that a specific module version shouldn't be searched for in this repository.

      The version notation for a regex will be matched against a single version and does not support range notations.

      Parameters:
        `group` - the group name
        `moduleName` - the module name
        `version` - the module version

    - #### excludeVersionByRegex

          void excludeVersionByRegex​(String groupRegex,
                                     String moduleNameRegex,
                                     String versionRegex)

      Declares that a specific module version shouldn't be searched for in this repository, using regular expressions.

      The version notation for a regex will be matched against a single version and does not support range notations.

      Parameters:
        `groupRegex` - the group name
        `moduleNameRegex` - the module name
        `versionRegex` - the module version

    - #### onlyForConfigurations

          void onlyForConfigurations​(String... configurationNames)

      Declares that this repository should only be used for a specific set of configurations. Defaults to any configuration
      Parameters:
        `configurationNames` - the names of the configurations the repository will be used for

    - #### notForConfigurations

          void notForConfigurations​(String... configurationNames)

      Declares that this repository should not be used for a specific set of configurations. Defaults to any configuration
      Parameters:
        `configurationNames` - the names of the configurations the repository will not be used for

    - #### onlyForAttribute

          <T> void onlyForAttribute​(Attribute<T> attribute,
                                    T... validValues)

      Declares that this repository will only be searched if the consumer requires a specific attribute.
      Type Parameters:
        `T` - the type of the attribute
      Parameters:
        `attribute` - the attribute
        `validValues` - the list of accepted values