@NonNullApi

# Package org.gradle.api.artifacts

Classes for declaring and using artifacts and artifact dependencies.

- Interface Summary
  Interface | Description
  --- | ---
  ArtifactCollection | A collection of artifacts resolved for a configuration.
  ArtifactIdentifier | Deprecated. Will be removed in Gradle 9.0.
  ArtifactRepositoryContainer | A `ResolverContainer` is responsible for managing a set of `ArtifactRepository` instances.
  ArtifactSelectionDetails | Details about artifact dependency substitution: this class gives access to the original dependency requested artifacts, if any, and gives the opportunity to replace the original requested artifacts with other artifacts.
  ArtifactView | A view over the artifacts resolved for this set of dependencies.
  ArtifactView.ViewConfiguration | Configuration for a defined artifact view.
  CapabilitiesResolution | Allows configuring the capabilities resolution strategy.
  CapabilityResolutionDetails | Gives access to the resolution details of a single capability conflict.
  ClientModule | Deprecated.
  ComponentMetadata | Provides a read-only view of a resolved component's metadata, which typically originates from a component descriptor (Ivy file, Maven POM).
  ComponentMetadataBuilder | A component metadata builder.
  ComponentMetadataContext | Provides access to component metadata from a `ComponentMetadataRule`.
  ComponentMetadataDetails | Describes a resolved component's metadata, which typically originates from a component descriptor (Ivy file, Maven POM).
  ComponentMetadataListerDetails | Allows a custom version lister to specify the list of versions known for a specific module.
  ComponentMetadataRule | A rule that modify `component metadata`.
  ComponentMetadataSupplier | A component metadata rule is responsible for providing the initial metadata of a component from a remote repository, in place of parsing the descriptor.
  ComponentMetadataSupplierDetails | A component metadata rule details, giving access to the identifier of the component being resolved, the metadata builder, and the repository resource accessor for this.
  ComponentMetadataVersionLister | Interface for custom version listers.
  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.
  ComponentVariantIdentifier | Identifies a variant of a component by component identifier and variant name.
  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.
  ConsumableConfiguration | A `Configuration` which can be consumed via Publishing and Dependency Management.
  DependenciesMetadata<T extends DependencyMetadata> | Describes metadata about a dependency - direct dependencies or dependency constraints - declared in a resolved component's metadata.
  Dependency | A `Dependency` represents a dependency on the artifacts from a particular source.
  DependencyArtifact | An `Artifact` represents an artifact included in a `Dependency`.
  DependencyArtifactSelector | Details about an artifact selection in the context of a dependency substitution.
  DependencyConstraint | Represents a constraints over all, including transitive, dependencies.
  DependencyConstraintMetadata | Describes a dependency constraint declared in a resolved component's metadata, which typically originates from a component descriptor (Gradle metadata file).
  DependencyConstraintSet | A set of dependency constraint definitions that are associated with a configuration.
  DependencyConstraintsMetadata | Describes the dependency constraints of a variant declared in a resolved component's metadata, which typically originate from a component descriptor (Gradle metadata file).
  DependencyMetadata<SELF extends DependencyMetadata> | Describes a metadata about a dependency - direct dependency or dependency constraint - declared in a resolved component's metadata.
  DependencyResolutionListener | A `DependencyResolutionListener` is notified as dependencies are resolved.
  DependencyResolveDetails | Provides details about a dependency when it is resolved.
  DependencyScopeConfiguration | A `Configuration` which collects dependencies, dependency constraints, and exclude rules.
  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.
  DirectDependenciesMetadata | Describes the dependencies of a variant declared in a resolved component's metadata, which typically originate from a component descriptor (Gradle metadata file, Ivy file, Maven POM).
  DirectDependencyMetadata | Describes a dependency declared in a resolved component's metadata, which typically originates from a component descriptor (Gradle metadata file, Ivy file, Maven POM).
  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 `ExternalModuleDependency` is a `Dependency` on a module outside the current project hierarchy.
  ExternalModuleDependencyBundle | A bundle is a list of dependencies which are always added together.
  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.
  MinimalExternalModuleDependency | The minimal information Gradle needs to address an external module.
  ModuleDependency | A `ModuleDependency` is a `Dependency` on a module outside the current project.
  ModuleDependencyCapabilitiesHandler | The capabilities requested for a dependency.
  ModuleIdentifier | The identifier of a module.
  ModuleVersionIdentifier | The identifier of a module version.
  ModuleVersionSelector | Selects a module version.
  MutableVariantFilesMetadata | Mutable information about the files that belong to a variant.
  MutableVersionConstraint | A configurable version constraint.
  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.
  ResolvableConfiguration | A `Configuration` which performs dependency resolution to build dependency graphs and resolve artifacts.
  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 | Deprecated. Dependencies should not be resolved outside a resolvable configuration.
  UnresolvedDependency | Unsuccessfully resolved dependency.
  VariantFileMetadata | Part of a component variant's metadata representing a file and its location.
  VariantMetadata | Represents the metadata of one variant of a component, see `ComponentMetadataDetails.withVariant(String, Action)`.
  VariantSelectionDetails | Allows configuring the variant-aware selection aspects of a specific dependency.
  VersionCatalog | Provides access to a version catalog.
  VersionCatalogsExtension | Gives access to all version catalogs available.
  VersionConstraint | Represents a constraint that is used to match module versions to a dependency.

- Class Summary
  Class | Description
  --- | ---
  Configuration.Namer | Deprecated. Use `Named.Namer.INSTANCE` instead (since `Configuration` now extends `Named`).

- Enum Summary
  Enum | Description
  --- | ---
  Configuration.State | The states a configuration can be into.
  ResolutionStrategy.SortOrder | Defines the sort order for components and artifacts produced by the configuration.

- Exception Summary
  Exception | Description
  --- | ---
  PublishException | A `PublishException` is thrown when a dependency configuration cannot be published for some reason.
  ResolveException | An opaque exception, 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.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  CacheableRule | Declares a rule eligible for caching.