|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
T
- The type of model to buildpublic interface ModelBuilder<T extends Model>
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:
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); //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(); }
Method Summary | |
---|---|
ModelBuilder<T> |
addProgressListener(ProgressListener listener)
Adds a progress listener which will receive progress events as the operation runs. |
T |
get()
Fetch the model, blocking until it is available. |
void |
get(ResultHandler<? super T> handler)
Starts fetching the build. |
ModelBuilder<T> |
setJavaHome(File javaHome)
If the target gradle version supports it you can use this setting to specify the java home directory to use for the long running operation. |
ModelBuilder<T> |
setJvmArguments(String... jvmArguments)
If the target gradle version supports it you can use this setting to specify the java vm arguments to use for the long running operation. |
ModelBuilder<T> |
setStandardError(OutputStream outputStream)
Sets the OutputStream which should receive standard error logging generated while running the operation. |
ModelBuilder<T> |
setStandardInput(InputStream inputStream)
If the target gradle version supports it you can use this setting to set the standard InputStream that will be used by builds. |
ModelBuilder<T> |
setStandardOutput(OutputStream outputStream)
Sets the OutputStream which should receive standard output logging generated while running the operation. |
Method Detail |
---|
ModelBuilder<T> setStandardOutput(OutputStream outputStream)
OutputStream
which should receive standard output logging generated while running the operation.
The default is to discard the output.
setStandardOutput
in interface LongRunningOperation
outputStream
- The output stream.
ModelBuilder<T> setStandardError(OutputStream outputStream)
OutputStream
which should receive standard error logging generated while running the operation.
The default is to discard the output.
setStandardError
in interface LongRunningOperation
outputStream
- The output stream.
ModelBuilder<T> setStandardInput(InputStream inputStream)
InputStream
that will be used by builds.
Useful when the tooling api drives interactive builds.
If the target gradle version does not support it the long running operation will fail eagerly with
UnsupportedMethodException
when the operation is started.
If not configured or null passed the dummy input stream with zero bytes is used to avoid the build hanging problems.
setStandardInput
in interface LongRunningOperation
inputStream
- The input stream
ModelBuilder<T> setJavaHome(File javaHome)
If the target gradle version does not support it the long running operation will fail eagerly with
UnsupportedMethodException
when the operation is started.
BuildEnvironment
model contains information such as java or gradle environment.
If you want to get hold of this information you can ask tooling API to build this model.
If not configured or null passed the sensible default will be used.
setJavaHome
in interface LongRunningOperation
javaHome
- to use for the gradle process
ModelBuilder<T> setJvmArguments(String... jvmArguments)
If the target gradle version does not support it the long running operation will fail eagerly with
UnsupportedMethodException
when the operation is started.
BuildEnvironment
model contains information such as java or gradle environment.
If you want to get hold of this information you can ask tooling API to build this model.
If not configured, null an empty array passed then the reasonable default will be used.
setJvmArguments
in interface LongRunningOperation
jvmArguments
- to use for the gradle process
ModelBuilder<T> addProgressListener(ProgressListener listener)
addProgressListener
in interface LongRunningOperation
listener
- The listener
T get() throws GradleConnectionException
UnsupportedVersionException
- When the target Gradle version does not support the features required to build this model.
For example, 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.
BuildException
- On some failure executing the Gradle build.
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
handler
- The handler to supply the result to.
IllegalStateException
- When the connection has been closed or is closing.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |