@NonNullApi

# Package org.gradle.api.artifacts.dsl

Classes used in the artifact DSL.

- Interface Summary
  Interface | Description
  --- | ---
  ArtifactHandler | This class is for defining artifacts to be published and adding them to configurations.
  ComponentMetadataHandler | Allows the build to provide rules that modify the metadata of depended-on software components.
  ComponentModuleMetadataHandler | Allows to modify the metadata of depended-on software components.
  Dependencies | Universal APIs that are available for all `dependencies` blocks.
  DependencyAdder | A `DependencyAdder` is used to add dependencies to a specific configuration.
  DependencyConstraintHandler | A `DependencyConstraintHandler` is used to declare dependency constraints.
  DependencyFactory | Factory class for creating `Dependency` instances, with strong typing.
  DependencyHandler | A `DependencyHandler` is used to declare dependencies.
  DependencyLockingHandler | A `DependencyLockingHandler` manages the behaviour and configuration of dependency locking.
  DependencyModifier | A `DependencyModifier` defines how to modify a dependency inside a custom `dependencies` block to select a different variant.
  ExternalModuleDependencyVariantSpec | The specification of a dependency variant.
  GradleDependencies | Dependency APIs available for `dependencies` blocks that can build software that relies on Gradle APIs.
  RepositoryHandler | A `RepositoryHandler` manages a set of repositories, allowing repositories to be defined and queried.

- Enum Summary
  Enum | Description
  --- | ---
  LockMode | The supported lock modes: `DEFAULT` will load the lock state and verify resolution matches it `STRICT` in addition to the `DEFAULT` behaviour, will fail resolution if a locked configuration does not have lock state defined `LENIENT` will load the lock state, to anchor dynamic versions, but otherwise be lenient about modifications of the dependency resolution, allowing versions to change and module to be added or removed