# Package org.gradle.tooling

package org.gradle.tooling
The main interfaces and classes of the Gradle tooling API.

- Related Packages
  Package
  Description
  org.gradle
  The top-level package for the Gradle build system.
  org.gradle.tooling.events
  The interfaces and classes related to registering for event notifications and listening to dispatched events.
  org.gradle.tooling.exceptions
  Exceptions thrown when using the tooling API.
  org.gradle.tooling.model
  The general-purpose tooling model types, provided by the tooling API.
- Class
  Description
  BuildAction<T>
  An action that executes against a Gradle build and produces a result of type `T`.
  BuildActionExecuter<T>
  Used to execute a `BuildAction` in the build process.
  BuildActionExecuter.Builder
  Builder for a build action that hooks into different phases of the build.
  BuildActionFailureException
  Thrown when a `BuildAction` fails.
  BuildCancelledException
  Thrown when a `LongRunningOperation` is cancelled before the operation completes.
  BuildController
  Provides a `BuildAction` various ways to control a Gradle build and access information about the build.
  BuildException
  Thrown when a Gradle build fails or when a model cannot be built.
  BuildLauncher
  A `BuildLauncher` allows you to configure and execute a Gradle build.
  CancellationToken
  Token that propagates notification that an operation should be cancelled.
  CancellationTokenSource
  A `CancellationTokenSource` allows you to issue cancellation requests to one or more `LongRunningOperation` instances.
  ConfigurableLauncher<T extends ConfigurableLauncher<T>>
  A `ConfigurableLauncher` allows you to configure a long running operation.
  Failure
  Represents a failure.
  FetchModelResult<T extends Model,M>
  Carries the result of a single model fetch operation.
  FileComparisonTestAssertionFailure
  Represent a test assertion failure where the test fails due to a broken assertion.
  GradleConnectionException
  Thrown when there is some problem using a Gradle connection.
  GradleConnector
  A `GradleConnector` is the main entry point to the Gradle tooling API.
  IntermediateResultHandler<T>
  A handler for an intermediate result obtained by a `BuildActionExecuter`.
  ListenerFailedException
  Thrown whenever a listener fails with an exception, which in general implies that the build completed like it should, but that one of the listeners failed with an exception.
  LongRunningOperation
  Offers ways to communicate both ways with a Gradle operation, be it building a model or running tasks.
  ModelBuilder<T>
  A `ModelBuilder` allows you to fetch a snapshot of some model for a project or a build.
  ProgressEvent
  Some information about a piece of work of a long running operation.
  ProgressListener
  A listener which is notified as some long running operation makes progress.
  ProjectConnection
  Represents a long-lived connection to a Gradle project.
  ResultHandler<T>
  A handler for an asynchronous operation which returns an object of type T.
  StreamedValueListener
  Receives a value sent via `BuildController.send(Object)`.
  Supplier<T>
  A value supplier.
  TestAssertionFailure
  Represent a test assertion failure where the test fails due to a broken assertion.
  TestExecutionException
  Thrown when the `TestLauncher` cannot run tests, or when one or more tests fail.
  TestFailure
  Describes a test failure, that can either be a test assertion failure or a test framework failure.
  TestFrameworkFailure
  Describes an unexpected test failure, i.e.
  TestLauncher
  A `TestLauncher` allows you to execute tests in a Gradle build.
  TestSpec
  Provides infrastructure to select which test classes, methods, and packages will be included in the test execution.
  TestSpecs
  Provides test selection from a specific test task.
  ToolingModelContract
  Annotation used to mark TAPI model interfaces.
  UnknownModelException
  Thrown when the client is trying to acquire a model that is unknown to the Tooling API.
  UnsupportedVersionException
  Thrown when the target Gradle version does not support a particular feature.