# Package org.gradle.api.artifacts.dsl

@NonNullApi package org.gradle.api.artifacts.dsl
Classes used in the artifact DSL.

- Related Packages
  Package
  Description
  org.gradle.api.artifacts
  Classes for declaring and using artifacts and artifact dependencies.
- Class
  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.
  DependencyCollector
  A `DependencyCollector` is used as part of a dependencies block in the DSL.
  DependencyConstraintFactory
  Factory class for creating `DependencyConstraint` instances, with strong typing.
  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.
  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
  RepositoryHandler
  A `RepositoryHandler` manages a set of repositories, allowing repositories to be defined and queried.