A ModelBuilder
allows you to fetch a snapshot of some model for a project or a build.
Instances of ModelBuilder
are not thread-safe.
You use a ModelBuilder
as follows:
ModelBuilder
by calling ProjectConnection.model.
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(); }
- The type of model to buildType | Name and description |
---|---|
ModelBuilder<T> |
addProgressListener(ProgressListener listener) {@inheritDoc} |
ModelBuilder<T> |
forTasks(String... tasks) Specifies the tasks to execute before building the model. |
T |
get() Fetch the model, blocking until it is available. |
void |
get(ResultHandler<? super T> handler) Starts fetching the model, passing the result to the given handler when complete. |
ModelBuilder<T> |
setJavaHome(File javaHome) {@inheritDoc} |
ModelBuilder<T> |
setJvmArguments(String... jvmArguments) {@inheritDoc} |
ModelBuilder<T> |
setStandardError(OutputStream outputStream) {@inheritDoc} |
ModelBuilder<T> |
setStandardInput(InputStream inputStream) {@inheritDoc} |
ModelBuilder<T> |
setStandardOutput(OutputStream outputStream) {@inheritDoc} |
ModelBuilder<T> |
withArguments(String... arguments) {@inheritDoc} |
Methods inherited from class | Name |
---|---|
interface LongRunningOperation |
addProgressListener, setJavaHome, setJvmArguments, setStandardError, setStandardInput, setStandardOutput, withArguments |
{@inheritDoc}
Specifies the tasks to execute before building the model. By default, no tasks are executed.
tasks
- The paths of the tasks to be executed. Relative paths are evaluated relative to the project for which this launcher was created.Fetch the model, blocking until it is available.
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.
handler
- The handler to supply the result to.{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}