# Package org.gradle.api.artifacts

Classes for declaring and using artifacts and artifact dependencies.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ArtifactIdentifier | The identifier for a module artifact.
  ArtifactRepositoryContainer | A `ResolverContainer` is responsible for managing a set of `ArtifactRepository` instances.
  ClientModule | To model a module in your dependency declarations.
  ComponentMetadata | Provides a read-only view of a resolved component's metadata, which typically originates from a component descriptor (Ivy file, Maven POM).
  ComponentMetadataDetails | Describes a resolved component's metadata, which typically originates from a component descriptor (Ivy file, Maven POM).
  ComponentModuleMetadata | Contains immutable component module metadata information.
  ComponentModuleMetadataDetails | Contains and allows configuring component module metadata information.
  ComponentSelection | Represents a tuple of the component selector of a module and a candidate version to be evaluated in a component selection rule.
  ComponentSelectionRules | Represents a container for component selection rules.
  ConfigurablePublishArtifact | A `PublishArtifact` whose properties can be modified.
  Configuration | A `Configuration` represents a group of artifacts and their dependencies.
  ConfigurationContainer | A `ConfigurationContainer` is responsible for declaring and managing configurations.
  ConfigurationPublications | Represents the outgoing artifacts associated with a configuration.
  ConfigurationVariant | Represents some variant of an outgoing configuration.
  Dependency | A `Dependency` represents a dependency on the artifacts from a particular source.
  DependencyArtifact | An `Artifact` represents an artifact included in a `Dependency`.
  DependencyResolutionListener | A `DependencyResolutionListener` is notified as dependencies are resolved.
  DependencyResolveDetails | Provides details about a dependency when it is resolved.
  DependencySet | A set of artifact dependencies.
  DependencySubstitution | Provides means to substitute a different dependency during resolution.
  DependencySubstitutions | Allows replacing dependencies with other dependencies.
  DependencySubstitutions.Substitution | Provides a DSL-friendly mechanism for specifying the target of a substitution.
  ExcludeRule | An `ExcludeRule` is used to describe transitive dependencies that should be excluded when resolving dependencies.
  ExcludeRuleContainer | A container for adding exclude rules for dependencies.
  ExternalDependency | An `ExternalDependency` is a `Dependency` on a source outside the current project hierarchy.
  ExternalModuleDependency | A `ModuleDependency` is a `Dependency` on a module outside the current project hierarchy.
  FileCollectionDependency | A `FileCollectionDependency` is a `Dependency` on a collection of local files which are not stored in a repository.
  LenientConfiguration | Resolved configuration that does not fail eagerly when some dependencies are not resolved, or some artifacts do not exist.
  ModuleDependency | A `ModuleDependency` is a `Dependency` on a module outside the current build.
  ModuleIdentifier | The identifier of a module.
  ModuleVersionIdentifier | The identifier of a module version.
  ModuleVersionSelector | Selects a module version
  ProjectDependency | A `ProjectDependency` is a `Dependency` on another project in the current project hierarchy.
  PublishArtifact | A `PublishArtifact` is an artifact produced by a project.
  PublishArtifactSet | A set of artifacts to be published.
  ResolutionStrategy | Defines the strategies around dependency resolution.
  ResolvableDependencies | A set of `Dependency` objects which can be resolved to a set of files.
  ResolvedArtifact | Information about a resolved artifact.
  ResolvedConfiguration | A `ResolvedConfiguration` represents the result of resolving a `Configuration`, and provides access to both the artifacts and the meta-data of the result.
  ResolvedDependency | Information about a resolved dependency.
  ResolvedModuleVersion | Represents meta-data about a resolved module version.
  SelfResolvingDependency | A `SelfResolvingDependency` is a `Dependency` which is able to resolve itself, independent of a repository.
  UnresolvedDependency | Unsuccessfully resolved dependency.

- Class Summary
  Class | Description
  --- | ---
  Configuration.Namer | A `Namer` namer for configurations that returns `Configuration.getName()`.

- Enum Summary
  Enum | Description
  --- | ---
  Configuration.State | The states a configuration can be into.

- Exception Summary
  Exception | Description
  --- | ---
  PublishException | A `PublishException` is thrown when a dependency configuration cannot be published for some reason.
  ResolveException | A `ResolveException` is thrown when dependency resolution fails for some reason.
  UnknownConfigurationException | An `UnknownConfigurationException` is thrown when a configuration referenced by name cannot be found.
  UnknownRepositoryException | An `UnknownRepositoryException` is thrown when a repository referenced by name cannot be found.

## Package org.gradle.api.artifacts Description

Classes for declaring and using artifacts and artifact dependencies.