# Package org.gradle.tooling

The main interfaces and classes of the Gradle tooling API.

- Interface Summary
  Interface | 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.
  BuildController | Provides a `BuildAction` various ways to control a Gradle build and access information about the build.
  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.
  FileComparisonTestAssertionFailure | Represent a test assertion failure where the test fails due to a broken assertion.
  IntermediateResultHandler<T> | A handler for an intermediate result obtained by a `BuildActionExecuter`.
  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)`.
  TestAssertionFailure | Represent a test assertion failure where the test fails due to a broken assertion.
  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.

- Class Summary
  Class | Description
  --- | ---
  GradleConnector | A `GradleConnector` is the main entry point to the Gradle tooling API.

- Exception Summary
  Exception | Description
  --- | ---
  BuildActionFailureException | Thrown when a `BuildAction` fails.
  BuildCancelledException | Thrown when a `LongRunningOperation` is cancelled before the operation completes.
  BuildException | Thrown when a Gradle build fails or when a model cannot be built.
  GradleConnectionException | Thrown when there is some problem using a Gradle connection.
  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.
  TestExecutionException | Thrown when the `TestLauncher` cannot run tests, or when one or more tests fail.
  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.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ToolingModelContract | Annotation used to mark TAPI model interfaces.