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


Method Summary
ModelBuilder addProgressListener(ProgressListener listener)

{@inheritDoc}

Object get()

Fetch the model, blocking until it is available.

void get(ResultHandler handler)

Starts fetching the build.

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}


get

public Object get()
Fetch the model, blocking until it is available.
throws:
UnsupportedVersionException When the target Gradle version does not support the features required to build this model.
throws:
org.gradle.tooling.exceptions.UnsupportedOperationConfigurationException when you have configured the long running operation with a settings like: setStandardInput(java.io.InputStream), setJavaHome(java.io.File), setJvmArguments(String...) but those settings are not supported on the target Gradle.
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.


get

public void get(ResultHandler handler)
Starts fetching the build. This method returns immediately, and the result is later passed to the given handler.
throws:
IllegalStateException When the connection has been closed or is closing.
Parameters:
handler - The handler to supply the result to.


setJavaHome

public ModelBuilder setJavaHome(File javaHome)
{@inheritDoc}


setJvmArguments

public ModelBuilder setJvmArguments(String... jvmArguments)
{@inheritDoc}


setStandardError

public ModelBuilder setStandardError(OutputStream outputStream)
{@inheritDoc}


setStandardInput

public ModelBuilder setStandardInput(InputStream inputStream)
{@inheritDoc}


setStandardOutput

public ModelBuilder setStandardOutput(OutputStream outputStream)
{@inheritDoc}


withArguments

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


 

Gradle API 1.0