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();
 }
 
 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.
| Modifier and Type | Method and Description | 
|---|---|
| <T> BuildActionExecuter<T> | action(BuildAction<T> buildAction)Creates an executer which can be used to run the given action. | 
| void | close()Closes this connection. | 
| <T> T | getModel(Class<T> modelType)Fetches a snapshot of the model of the given type for this project. | 
| <T> void | getModel(Class<T> modelType,
        ResultHandler<? super T> handler)Starts fetching a snapshot of the given model, passing the result to the given handler when complete. | 
| <T> ModelBuilder<T> | model(Class<T> modelType)Creates a builder which can be used to query the model of the given type. | 
| BuildLauncher | newBuild()Creates a launcher which can be used to execute a build. | 
| TestLauncher | newTestLauncher()Creates a test launcher which can be used to execute tests. | 
<T> T getModel(Class<T> modelType) throws GradleConnectionException, IllegalStateException
This method is simply a convenience for calling model(modelType).get()
T - The model type.modelType - The model type.UnsupportedVersionException - When the target Gradle version does not support the given model.UnknownModelException - When the target Gradle version or build does not support the requested model.BuildException - On some failure executing the Gradle build, in order to build the model.GradleConnectionException - On some other failure using the connection.IllegalStateException - When this connection has been closed or is closing.<T> void getModel(Class<T> modelType, ResultHandler<? super T> handler) throws IllegalStateException
ResultHandler.onComplete(Object) method.
 If the operation fails, the handler's ResultHandler.onFailure(GradleConnectionException) method is called with the appropriate exception.
 See getModel(Class) for a description of the various exceptions that the operation may fail with.
 
This method is simply a convenience for calling model(modelType).get(handler)
T - The model type.modelType - The model type.handler - The handler to pass the result to.IllegalStateException - When this connection has been closed or is closing.BuildLauncher newBuild()
Requires Gradle 1.0-milestone-8 or later.
@Incubating TestLauncher newTestLauncher()
Requires Gradle 2.6 or later.
<T> ModelBuilder<T> model(Class<T> modelType)
Any of following models types may be available, depending on the version of Gradle being used by the target build:
GradleBuildBuildEnvironmentGradleProjectBuildInvocationsProjectPublicationsIdeaProjectBasicIdeaProjectEclipseProjectHierarchicalEclipseProjectA build may also expose additional custom tooling models. You can use this method to query these models.
Requires Gradle 1.0-milestone-8 or later.
T - The model type.modelType - The model type@Incubating <T> BuildActionExecuter<T> action(BuildAction<T> buildAction)
Requires Gradle 1.8 or later.
T - The result type.buildAction - The action to run.void close()