T - The type of model to buildConfigurableLauncher<ModelBuilder<T>>, LongRunningOperationpublic interface ModelBuilder<T> extends ConfigurableLauncher<ModelBuilder<T>>
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(Class).
get() or get(ResultHandler) to build the 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();
}
| Modifier and Type | Method | Description |
|---|---|---|
ModelBuilder<T> |
forTasks(Iterable<String> tasks) |
Specifies the tasks to execute before building the model.
|
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.
|
addArguments, addArguments, addJvmArguments, addJvmArguments, addProgressListener, addProgressListener, addProgressListener, addProgressListener, setColorOutput, setEnvironmentVariables, setJavaHome, setJvmArguments, setJvmArguments, setStandardError, setStandardInput, setStandardOutput, withArguments, withArguments, withCancellationTokenModelBuilder<T> forTasks(String... tasks)
tasks - The paths of the tasks to be executed. Relative paths are evaluated relative to the project for which this launcher was created.ModelBuilder<T> forTasks(Iterable<String> tasks)
tasks - The paths of the tasks to be executed. Relative paths are evaluated relative to the project for which this launcher was created.T get() throws GradleConnectionException, IllegalStateException
UnsupportedVersionException - When the target Gradle version does not support building models.UnknownModelException - When the target Gradle version or build does not support the requested model.UnsupportedOperationConfigurationException - When the target Gradle version does not support some requested configuration option such as ConfigurableLauncher.withArguments(String...).UnsupportedBuildArgumentException - When there is a problem with build arguments provided by ConfigurableLauncher.withArguments(String...).BuildException - On some failure executing the Gradle build.BuildCancelledException - When the operation was cancelled before it completed successfully.GradleConnectionException - On some other failure using the connection.IllegalStateException - When the connection has been closed or is closing.void get(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 get() for a description of the various exceptions that the operation may fail with.
handler - The handler to supply the result to.IllegalStateException - When the connection has been closed or is closing.