Groovy Documentation

org.gradle.tooling
[Java] Interface ModelBuilder

org.gradle.tooling.LongRunningOperation
  org.gradle.tooling.ModelBuilder
All Superinterfaces:
LongRunningOperation

public interface ModelBuilder
extends LongRunningOperation

A ModelBuilder allows you to fetch a snapshot of the model for a project. Instances of ModelBuilder are not thread-safe.

You use a ModelBuilder as follows:

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

 try {
    ModelBuilder<GradleProject> builder = connection.model(GradleProject.class);

    //if you use a different than usual build file name:
    builder.withArguments("--build-file", "theBuild.gradle");

    //configure the standard input in case your build is interactive:
    builder.setStandardInput(new ByteArrayInputStream("consume this!".getBytes()));

    //if you want to listen to the progress events:
    ProgressListener listener = null; // use your implementation
    builder.addProgressListener(listener);

    //get the model:
    GradleProject project = builder.get();

    //query the model for information:
    System.out.println("Available tasks: " + project.getTasks());
 } finally {
    connection.close();
 }
 
Parameters:
- The type of model to build
Since:
1.0-milestone-3


Method Summary
ModelBuilder addProgressListener(ProgressListener listener)

{@inheritDoc}

ModelBuilder forTasks(String... tasks)

Specifies the tasks to execute before building the model.

Object get()

Fetch the model, blocking until it is available.

void get(ResultHandler handler)

Starts fetching the model, passing the result to the given handler when complete.

ModelBuilder setJavaHome(File javaHome)

{@inheritDoc}

ModelBuilder setJvmArguments(String... jvmArguments)

{@inheritDoc}

ModelBuilder setStandardError(OutputStream outputStream)

{@inheritDoc}

ModelBuilder setStandardInput(InputStream inputStream)

{@inheritDoc}

ModelBuilder setStandardOutput(OutputStream outputStream)

{@inheritDoc}

ModelBuilder withArguments(String... arguments)

{@inheritDoc}

 
Methods inherited from interface LongRunningOperation
addProgressListener, setJavaHome, setJvmArguments, setStandardError, setStandardInput, setStandardOutput, withArguments
 

Method Detail

addProgressListener

public ModelBuilder addProgressListener(ProgressListener listener)
{@inheritDoc}
Since:
1.0-milestone-3


forTasks

@Incubating
public ModelBuilder forTasks(String... tasks)
Specifies the tasks to execute before building the model. By default, no tasks are executed.
Parameters:
tasks - The paths of the tasks to be executed. Relative paths are evaluated relative to the project for which this launcher was created.
Returns:
this
Since:
1.2


get

public Object get()
Fetch the model, blocking until it is available.
throws:
UnsupportedVersionException When the target Gradle version does not support building models.
throws:
UnknownModelException When the target Gradle version or build does not support the requested model.
throws:
UnsupportedOperationConfigurationException When the target Gradle version does not support some requested configuration option such as setStandardInput(java.io.InputStream), setJavaHome(java.io.File), setJvmArguments(String...).
throws:
UnsupportedBuildArgumentException When there is a problem with build arguments provided by withArguments(String...).
throws:
BuildException On some failure executing the Gradle build.
throws:
GradleConnectionException On some other failure using the connection.
throws:
IllegalStateException When the connection has been closed or is closing.
Returns:
The model.
Since:
1.0-milestone-3


get

public void get(ResultHandler handler)
Starts fetching the model, passing the result to the given handler when complete. This method returns immediately, and the result is later passed to the given handler's ResultHandler#onComplete(Object)#onComplete(Object) method.

If the operation fails, the handler's ResultHandler#onFailure(GradleConnectionException)#onFailure(GradleConnectionException) method is called with the appropriate exception. See get() for a description of the various exceptions that the operation may fail with.

throws:
IllegalStateException When the connection has been closed or is closing.
Parameters:
handler - The handler to supply the result to.
Since:
1.0-milestone-3


setJavaHome

public ModelBuilder setJavaHome(File javaHome)
{@inheritDoc}
Since:
1.0-milestone-8


setJvmArguments

public ModelBuilder setJvmArguments(String... jvmArguments)
{@inheritDoc}
Since:
1.0-milestone-9


setStandardError

public ModelBuilder setStandardError(OutputStream outputStream)
{@inheritDoc}
Since:
1.0-milestone-3


setStandardInput

public ModelBuilder setStandardInput(InputStream inputStream)
{@inheritDoc}
Since:
1.0-milestone-7


setStandardOutput

public ModelBuilder setStandardOutput(OutputStream outputStream)
{@inheritDoc}
Since:
1.0-milestone-3


withArguments

public ModelBuilder withArguments(String... arguments)
{@inheritDoc}
Since:
1.0


 

Gradle API 1.8