Package org.gradle.api.artifacts

## Interface ClientModule

- All Superinterfaces:
    `Dependency`, `ExternalDependency`, `ExternalModuleDependency`, `HasAttributes`, `HasConfigurableAttributes<ModuleDependency>`, `ModuleDependency`, `ModuleVersionSelector`

      public interface ClientModule
      extends ExternalModuleDependency

  To model a module in your dependency declarations. Usually you can either declare a single dependency artifact or you declare a module dependency that depends on a module descriptor in a repository. With a client module you can declare a module dependency without the need of a module descriptor in a remote repository.

- - ### Field Summary

    - ### Fields inherited from interface org.gradle.api.artifacts.Dependency

      `ARCHIVES_CONFIGURATION, CLASSIFIER, DEFAULT_CONFIGURATION`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addDependency​(ModuleDependency dependency)` | Add a dependency to the client module.
    `ClientModule` | `copy()` | Creates and returns a new dependency with the property values of this one.
    `Set<ModuleDependency>` | `getDependencies()` | Returns all the dependencies added to the client module.
    `String` | `getId()` | Returns the id of the client module.

    - ### Methods inherited from interface org.gradle.api.artifacts.Dependency

      `because, contentEquals, getGroup, getName, getReason, getVersion`

    - ### Methods inherited from interface org.gradle.api.artifacts.ExternalDependency

      `getVersionConstraint, isForce, setForce, version`

    - ### Methods inherited from interface org.gradle.api.artifacts.ExternalModuleDependency

      `isChanging, setChanging`

    - ### Methods inherited from interface org.gradle.api.artifacts.ModuleDependency

      `addArtifact, artifact, artifact, attributes, capabilities, doNotEndorseStrictVersions, endorseStrictVersions, exclude, getArtifacts, getAttributes, getExcludeRules, getRequestedCapabilities, getTargetConfiguration, isEndorsingStrictVersions, isTransitive, setTargetConfiguration, setTransitive`

    - ### Methods inherited from interface org.gradle.api.artifacts.ModuleVersionSelector

      `getGroup, getModule, getName, getVersion, matchesStrictly`

- - ### Method Detail

    - #### addDependency

          void addDependency​(ModuleDependency dependency)

      Add a dependency to the client module. Such a dependency is transitive dependency for the project that has a dependency on the client module.
      Parameters:
        `dependency` - The dependency to add to the client module.
      See Also:
        `getDependencies()`

    - #### getId

          String getId()

      Returns the id of the client module. This is usually only used for internal handling of the client module.
      Returns:
        The id of the client module

    - #### getDependencies

          Set<ModuleDependency> getDependencies()

      Returns all the dependencies added to the client module.
      See Also:
        `addDependency(ModuleDependency)`

    - #### copy

          ClientModule copy()

      Creates and returns a new dependency with the property values of this one.
      Specified by:
        `copy` in interface `Dependency`
      Specified by:
        `copy` in interface `ExternalDependency`
      Specified by:
        `copy` in interface `ExternalModuleDependency`
      Specified by:
        `copy` in interface `ModuleDependency`
      Returns:
        The copy. Never returns null.