public class DefaultModelBuilder<T extends Model,P> extends Object implements ModelBuilder<T>
| Constructor and Description |
|---|
DefaultModelBuilder(Class<T> modelType,
Class<P> protocolType,
AsyncConnection connection,
ProtocolToModelAdapter adapter,
ConnectionParameters parameters) |
| Modifier and Type | Method and Description |
|---|---|
DefaultModelBuilder<T,P> |
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.
|
DefaultModelBuilder<T,P> |
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.
|
DefaultModelBuilder<T,P> |
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.
|
DefaultModelBuilder<T,P> |
setStandardError(OutputStream outputStream)
Sets the
OutputStream which should receive standard error logging generated while running the operation. |
DefaultModelBuilder<T,P> |
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. |
DefaultModelBuilder<T,P> |
setStandardOutput(OutputStream outputStream)
Sets the
OutputStream which should receive standard output logging generated while running the operation. |
DefaultModelBuilder<T,P> |
withArguments(String... arguments)
Specify the command line build arguments.
|
public DefaultModelBuilder(Class<T> modelType, Class<P> protocolType, AsyncConnection connection, ProtocolToModelAdapter adapter, ConnectionParameters parameters)
public T get() throws GradleConnectionException
ModelBuilderget in interface ModelBuilder<T extends Model>UnsupportedVersionException - When the target Gradle version does not support the features required to build this model.UnsupportedOperationConfigurationException - when you have configured the long running operation with a settings
like: ModelBuilder.setStandardInput(java.io.InputStream), ModelBuilder.setJavaHome(java.io.File),
ModelBuilder.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.public void get(ResultHandler<? super T> handler) throws IllegalStateException
ModelBuilderget in interface ModelBuilder<T extends Model>handler - The handler to supply the result to.IllegalStateException - When the connection has been closed or is closing.public DefaultModelBuilder<T,P> withArguments(String... arguments)
ModelBuilderBuildLauncher.
Be aware that not all of the Gradle command line options are supported!
Only the build arguments that configure the build execution are supported.
They are modelled in the Gradle API via StartParameter.
Examples of supported build arguments: '--info', '-u', '-p'.
The command line instructions that are actually separate commands (like '-?', '-v') are not supported.
Some other instructions like '--daemon' are also not supported - the tooling API always runs with the daemon.
If you specify unknown or unsupported command line option the UnsupportedBuildArgumentException
will be thrown but only at the time when you execute the operation, i.e. BuildLauncher.run() or ModelBuilder.get().
For the list of all Gradle command line options please refer to the user guide
or take a look at the output of the 'gradle -?' command. Supported arguments are those modelled by
StartParameter.
The arguments can potentially override some other settings you have configured.
For example, the project directory or Gradle user home directory that are configured
in the GradleConnector.
Also, the task names configured by BuildLauncher.forTasks(String...) can be overridden
if you happen to specify other tasks via the build arguments.
See the example in the docs for BuildLauncher
withArguments in interface LongRunningOperationwithArguments in interface ModelBuilder<T extends Model>arguments - gradle command line argumentspublic DefaultModelBuilder<T,P> setStandardOutput(OutputStream outputStream)
ModelBuilderOutputStream which should receive standard output logging generated while running the operation.
The default is to discard the output.setStandardOutput in interface LongRunningOperationsetStandardOutput in interface ModelBuilder<T extends Model>outputStream - The output stream.public DefaultModelBuilder<T,P> setStandardError(OutputStream outputStream)
ModelBuilderOutputStream which should receive standard error logging generated while running the operation.
The default is to discard the output.setStandardError in interface LongRunningOperationsetStandardError in interface ModelBuilder<T extends Model>outputStream - The output stream.public DefaultModelBuilder<T,P> setStandardInput(InputStream inputStream)
ModelBuilderInputStream 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
UnsupportedOperationConfigurationException 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 LongRunningOperationsetStandardInput in interface ModelBuilder<T extends Model>inputStream - The input streampublic DefaultModelBuilder<T,P> setJavaHome(File javaHome)
ModelBuilder
If the target gradle version does not support it the long running operation will fail eagerly with
UnsupportedOperationConfigurationException 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 LongRunningOperationsetJavaHome in interface ModelBuilder<T extends Model>javaHome - to use for the gradle processpublic DefaultModelBuilder<T,P> setJvmArguments(String... jvmArguments)
ModelBuilder
If the target gradle version does not support it the long running operation will fail eagerly with
UnsupportedOperationConfigurationException 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 LongRunningOperationsetJvmArguments in interface ModelBuilder<T extends Model>jvmArguments - to use for the gradle processpublic DefaultModelBuilder<T,P> addProgressListener(ProgressListener listener)
ModelBuilderaddProgressListener in interface LongRunningOperationaddProgressListener in interface ModelBuilder<T extends Model>listener - The listenerCopyright © 2013. All rights reserved