# Package org.gradle.api

@NullMarked package org.gradle.api

Gradle's build language API, which is available from your build files. Location of the main interfaces involved in build scripts.

- Related Packages
  Package
  Description
  org.gradle
  The top-level package for the Gradle build system.
- Class
  Description
  Action<T>
  Performs some action against objects of type T.
  ActionConfiguration
  Allows specification of configuration for some action.
  AntBuilder
  An `AntBuilder` allows you to use Ant from your build script.
  AntBuilder.AntMessagePriority
  Represents the normal Ant message priorities.
  Buildable
  A `Buildable` represents an artifact or set of artifacts which are built by one or more `Task` instances.
  BuildableComponentSpec
  Deprecated.
  BuildCancelledException
  A `BuildCancelledException` is thrown when a build is interrupted due to cancellation request.
  CheckableComponentSpec
  Deprecated.
  CircularReferenceException
  A `CircularReferenceException` is thrown if circular references exists between tasks, the project evaluation order or the project dependsOn order.
  DefaultTask
  `DefaultTask` is the standard `Task` implementation.
  Describable
  Types can implement this interface when they provide a human-readable display name.
  DomainObjectCollection<T>
  A `DomainObjectCollection` is a specialised `Collection` that adds the ability to receive modification notifications and use live filtered sub collections.
  DomainObjectSet<T>
  A `DomainObjectSet` is a specialization of `DomainObjectCollection` that guarantees `Set` semantics.
  ExtensiblePolymorphicDomainObjectContainer<T>
  A `PolymorphicDomainObjectContainer` that can be extended at runtime to create elements of new types.
  Generated
  Indicates that the annotated member code was generated.
  GradleException
  `GradleException` is the base class of all exceptions thrown by Gradle.
  GradleScriptException
  A `GradleScriptException` is thrown when an exception occurs in the compilation or execution of a script.
  HasImplicitReceiver
  Marks a SAM interface as a target for lambda expressions / closures where the single parameter is passed as the implicit receiver of the invocation (`this` in Kotlin, `delegate` in Groovy) as if the lambda expression was an extension method of the parameter type.
  IllegalDependencyNotation
  This exceptions is thrown, if a dependency is declared with a illegal notation.
  Incubating
  Indicates that a feature is incubating.
  InvalidActionClosureException
  Thrown when a `Closure` is given as an `Action` implementation, but has the wrong signature.
  InvalidUserCodeException
  A `InvalidUserCodeException` is thrown when user-provided code cannot be executed.
  InvalidUserDataException
  A `InvalidUserDataException` is thrown, if a user is providing illegal data for the build.
  IsolatedAction<T>
  Defines an action that is applied to objects of type `T`, with each target getting its own isolated action instance.
  JavaVersion
  An enumeration of Java versions.
  Named
  Types can implement this interface and use the embedded `Named.Namer` implementation, to satisfy API that calls for a namer.
  Named.Namer
  An implementation of the namer interface for objects implementing the named interface.
  NamedDomainObjectCollection<T>
  A `NamedDomainObjectCollection` represents a collection of objects that have an inherent, constant, name.
  NamedDomainObjectCollectionSchema
  Schema of named domain object collections.
  NamedDomainObjectCollectionSchema.NamedDomainObjectSchema
  Schema of a named domain object.
  NamedDomainObjectContainer<T>
  A named domain object container is a specialization of `NamedDomainObjectSet` that adds the ability to create instances of the element type.
  NamedDomainObjectFactory<T>
  A factory for named objects of type `T`.
  NamedDomainObjectList<T>
  A specialization of `NamedDomainObjectCollection` that also implements `List`.
  NamedDomainObjectProvider<T>
  Provides a domain object of the given type.
  NamedDomainObjectSet<T>
  A specialization of `NamedDomainObjectCollection` that also implements `Set` and orders objects by their inherent name.
  Namer<T>
  A namer is capable of providing a name based on some inherent characteristic of an object.
  Namer.Comparator<T>
  A comparator implementation based on the names returned by the given namer.
  NonExtensible
  Indicates that the type, when DSL enhanced, does not support extensibility.
  NonNullApi
  Deprecated.
  Deprecated in Gradle 9 for removal in Gradle 10.
  PathValidation
  An enumeration for describing validation policies for file paths.
  Plugin<T>
  A `Plugin` represents an extension to Gradle.
  PolymorphicDomainObjectContainer<T>
  A `NamedDomainObjectContainer` that allows you to create objects with different types.
  Project
  This interface is the main API you use to interact with Gradle from your build file.
  ProjectConfigurationException
  Indicates a problem that occurs during project configuration.
  ProjectEvaluationListener
  An `ProjectEvaluationListener` is notified when a project is evaluated.
  ProjectState
  `ProjectState` provides information about the execution state of a project.
  Rule
  A `Rule` represents some action to perform when an unknown domain object is referenced.
  Script
  This interface is implemented by all Gradle Groovy DSL scripts to add in some Gradle-specific methods.
  SupportsKotlinAssignmentOverloading
  Marks interface that works with overloaded Kotlin assignment.
  Task
  A `Task` represents a single atomic piece of work for a build, such as compiling classes or generating javadoc.
  Transformer<OUT extends @Nullable Object, IN>
  A `Transformer` transforms objects of type.
  UncheckedIOException
  Deprecated.
  Use java.io.UncheckedIOException instead.
  UnknownDomainObjectException
  A `UnknownDomainObjectException` is the super class of all exceptions thrown when a given domain object cannot be located.
  UnknownProjectException
  An `UnknownProjectException` is thrown when a project referenced by path cannot be found.
  UnknownTaskException
  An `UnknownTaskException` is thrown when a task referenced by path cannot be found.
  XmlProvider
  Provides various ways to access the content of an XML document.