Groovy Documentation

org.gradle.tooling
[Java] Interface ProjectConnection


public interface ProjectConnection

Represents a long-lived connection to a Gradle project. You obtain an instance of a ProjectConnection by using GradleConnector.connect.

 ProjectConnection connection = GradleConnector.newConnector()
    .forProjectDirectory(new File("someFolder"))
    .connect();

 try {
    //obtain some information from the build
    BuildEnvironment environment = connection.model(BuildEnvironment.class)
      .get();

    //run some tasks
    connection.newBuild()
      .forTasks("tasks")
      .setStandardOutput(System.out)
      .run();

 } finally {
    connection.close();
 }
 

Thread safety information

All implementations of ProjectConnection are thread-safe, and may be shared by any number of threads.

All notifications from a given ProjectConnection instance are delivered by a single thread at a time. Note, however, that the delivery thread may change over time.


Method Summary
void close()

Closes this connection.

Object getModel(Class viewType)

Fetches a snapshot of the model of the given type for this project.

void getModel(Class viewType, ResultHandler handler)

Fetches a snapshot of the model for this project asynchronously.

ModelBuilder model(Class modelType)

Creates a builder which can be used to build the model of the given type.

BuildLauncher newBuild()

Creates a launcher which can be used to execute a build.

 

Method Detail

close

public void close()
Closes this connection. Blocks until any pending operations are complete. Once this method has returned, no more notifications will be delivered by any threads.


getModel

public Object getModel(Class viewType)
Fetches a snapshot of the model of the given type for this project.

This method blocks until the model is available.

throws:
UnsupportedVersionException When the target Gradle version does not support the given model.
throws:
UnknownModelException When you are building a model unknown to the Tooling API, for example you attempt to build a model of a type does not come from the Tooling API.
throws:
BuildException On some failure executing the Gradle build, in order to build the model.
throws:
GradleConnectionException On some other failure using the connection.
throws:
IllegalStateException When this connection has been closed or is closing.
Parameters:
viewType - The model type.
- The model type.
Returns:
The model.


getModel

public void getModel(Class viewType, ResultHandler handler)
Fetches a snapshot of the model for this project asynchronously. This method return immediately, and the result of the operation is passed to the supplied result handler.
throws:
IllegalStateException When this connection has been closed or is closing.
throws:
UnknownModelException When you are building a model unknown to the Tooling API, for example you attempt to build a model of a type does not come from the Tooling API.
Parameters:
viewType - The model type.
handler - The handler to pass the result to.
- The model type.


model

public ModelBuilder model(Class modelType)
Creates a builder which can be used to build the model of the given type.
throws:
UnknownModelException When you are building a model unknown to the Tooling API, for example you attempt to build a model of a type does not come from the Tooling API.
Parameters:
modelType - The model type
- The model type.
Returns:
The builder.


newBuild

public BuildLauncher newBuild()
Creates a launcher which can be used to execute a build.
Returns:
The launcher.


 

Gradle API 1.0