# Package org.gradle.tooling

The main interfaces and classes of the Gradle tooling API.

See: Description

- 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.
  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.
  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 the model for a project.
  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.

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

## Package org.gradle.tooling Description

The main interfaces and classes of the Gradle tooling API.