# Package org.gradle.tooling

## Package org.gradle.tooling Description

The main interfaces and classes of the Gradle tooling API.

- Interface Summary
  Interface | Description
  --- | ---
  BuildAction | An action that executes against a Gradle build and produces a result of type `T`.
  BuildActionExecuter | Used to execute a BuildAction in the build process.
  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 | A `ConfigurableLauncher` allows you to configure a long running operation.
  Failure | Represents a failure.
  LongRunningOperation | Offers ways to communicate both ways with a Gradle operation, be it building a model or running tasks.
  ModelBuilder | 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 |
  ResultHandler | A handler for an asynchronous operation which returns an object of type T.
  TestLauncher | A `TestLauncher` allows you to execute tests in a Gradle build.

- Class Summary
  Class | Description
  --- | ---
  GradleConnector |

- 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.