# Package org.gradle.api.artifacts

@NullMarked package org.gradle.api.artifacts
Classes for declaring and using artifacts and artifact dependencies.

- Related Packages
  Package
  Description
  org.gradle.api
  Gradle's build language API, which is available from your build files.
  org.gradle.api.artifacts.capability
  Classes related to requesting and providing capabilities of variants.
  org.gradle.api.artifacts.component
  Classes that provide meta-data about software components.
  org.gradle.api.artifacts.dsl
  Classes used in the artifact DSL.
  org.gradle.api.artifacts.ivy
  Classes for declaring and using Ivy modules.
  org.gradle.api.artifacts.maven
  Classes for declaring and using Maven modules.
  org.gradle.api.artifacts.query
  Classes used for querying the artifacts.
  org.gradle.api.artifacts.repositories
  Classes for declaring and using artifact repositories.
  org.gradle.api.artifacts.result
  Classes that compose the resolution result
  org.gradle.api.artifacts.transform
  Provides classes, interfaces and annotations for registering and implementing artifact transforms.
  org.gradle.api.artifacts.type
  Types related to artifact type definitions.
  org.gradle.api.artifacts.verification
  Dependency verification related configuration classes
- Class
  Description
  ArtifactCollection
  A collection of artifacts resolved for a configuration.
  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.
  CacheableRule
  Declares a rule eligible for caching.
  CapabilitiesResolution
  Allows configuring the capabilities resolution strategy.
  CapabilityResolutionDetails
  Gives access to the resolution details of a single capability conflict.
  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.
  Configuration.State
  The states a configuration can be into.
  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
  Data class that 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.
  LegacyConfiguration
  A `Configuration` with a mutable role, that can potentially perform behavior of a `ConsumableConfiguration`, a `ResolvableConfiguration`, or a `DependencyScopeConfiguration`.
  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 component that exists outside of 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.
  PublishException
  A `PublishException` is thrown when a dependency configuration cannot be published for some reason.
  ResolutionStrategy
  Defines the strategies around dependency resolution.
  ResolutionStrategy.SortOrder
  Defines the sort order for components and artifacts produced by the configuration.
  ResolvableConfiguration
  A `Configuration` which performs dependency resolution to build dependency graphs and resolve artifacts.
  ResolvableDependencies
  The primary view of the results of resolving a `Configuration`.
  ResolvedArtifact
  Information about a resolved artifact.
  ResolvedConfiguration
  A `ResolvedConfiguration` represents the result of resolving a `Configuration`, and provides access to both the graph and artifacts of the result.
  ResolvedDependency
  Information about a resolved dependency.
  ResolvedModuleVersion
  Represents meta-data about a resolved module version.
  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.
  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.