Groovy Documentation

org.gradle.tooling
[Java] Interface BuildLauncher

org.gradle.tooling.BuildLauncher
  org.gradle.tooling.LongRunningOperation
All Superinterfaces:
LongRunningOperation

public interface BuildLauncher
extends LongRunningOperation

A BuildLauncher allows you to configure and execute a Gradle build.

Instances of BuildLauncher are not thread-safe. You use a BuildLauncher as follows:

Example:
 ProjectConnection connection = GradleConnector.newConnector()
    .forProjectDirectory(new File("someFolder"))
    .connect();

 try {
    BuildLauncher build = connection.newBuild();

    //select tasks to run:
    build.forTasks("clean", "test");

    //include some build arguments:
    build.withArguments("--no-search-upward", "-i", "--project-dir", "someProjectDir");

    //configure the standard input:
    build.setStandardInput(new ByteArrayInputStream("consume this!".getBytes()));

    //in case you want the build to use java different than default:
    build.setJavaHome(new File("/path/to/java"));

    //if your build needs crazy amounts of memory:
    build.setJvmArguments("-Xmx2048m", "-XX:MaxPermSize=512m");

    //if you want to listen to the progress events:
    ProgressListener listener = null; // use your implementation
    build.addProgressListener(listener);

    //kick the build off:
    build.run();
 } finally {
    connection.close();
 }
 
Since:
1.0-milestone-3


Method Summary
BuildLauncher addProgressListener(ProgressListener listener)

{@inheritDoc}

BuildLauncher forLaunchables(Launchable... launchables)

Sets the launchables to execute.

BuildLauncher forLaunchables(Iterable launchables)

Sets the launchables to execute.

BuildLauncher forTasks(String... tasks)

Sets the tasks to be executed.

BuildLauncher forTasks(Task... tasks)

Sets the tasks to be executed.

BuildLauncher forTasks(Iterable tasks)

Sets the tasks to be executed.

void run()

Executes the build, blocking until it is complete.

void run(ResultHandler handler)

Launches the build.

BuildLauncher setJavaHome(File javaHome)

{@inheritDoc}

BuildLauncher setJvmArguments(String... jvmArguments)

{@inheritDoc}

BuildLauncher setStandardError(OutputStream outputStream)

{@inheritDoc}

BuildLauncher setStandardInput(InputStream inputStream)

{@inheritDoc}

BuildLauncher setStandardOutput(OutputStream outputStream)

{@inheritDoc}

BuildLauncher withArguments(String... arguments)

{@inheritDoc}

 
Methods inherited from interface LongRunningOperation
addProgressListener, setJavaHome, setJvmArguments, setStandardError, setStandardInput, setStandardOutput, withArguments
 

Method Detail

addProgressListener

public BuildLauncher addProgressListener(ProgressListener listener)
{@inheritDoc}
Since:
1.0-milestone-3


forLaunchables

@Incubating
public BuildLauncher forLaunchables(Launchable... launchables)
Sets the launchables to execute. If no entries are specified, the project's default tasks are executed.
Parameters:
launchables - The launchables for this build.
Returns:
this
Since:
1.12


forLaunchables

@Incubating
public BuildLauncher forLaunchables(Iterable launchables)
Sets the launchables to execute. If no entries are specified, the project's default tasks are executed.
Parameters:
launchables - The launchables for this build.
Returns:
this
Since:
1.12


forTasks

public BuildLauncher forTasks(String... tasks)
Sets the tasks to be executed. If no tasks are specified, the project's default tasks are executed.
Parameters:
tasks - The paths of the tasks to be executed. Relative paths are evaluated relative to the project for which this launcher was created.
Returns:
this
Since:
1.0-milestone-3


forTasks

public BuildLauncher forTasks(Task... tasks)
Sets the tasks to be executed. If no tasks are specified, the project's default tasks are executed.

Note that the supplied tasks do not necessarily need to belong to the project which this launcher was created for.

Parameters:
tasks - The tasks to be executed.
Returns:
this
Since:
1.0-milestone-3


forTasks

public BuildLauncher forTasks(Iterable tasks)
Sets the tasks to be executed. If no tasks are specified, the project's default tasks are executed.

Note that the supplied tasks do not necessarily need to belong to the project which this launcher was created for.

Parameters:
tasks - The tasks to be executed.
Returns:
this
Since:
1.0-milestone-3


run

public void run()
Executes the build, blocking until it is complete.
throws:
UnsupportedVersionException When the target Gradle version does not support build execution.
throws:
UnsupportedOperationConfigurationException When the target Gradle version does not support some requested configuration option such as setStandardInput(java.io.InputStream), setJavaHome(java.io.File), setJvmArguments(String...).
throws:
UnsupportedBuildArgumentException When there is a problem with build arguments provided by withArguments(String...).
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.
Since:
1.0-milestone-3


run

public void run(ResultHandler handler)
Launches the build. This method returns immediately, and the result is later passed to the given handler.

If the operation fails, the handler's ResultHandler#onFailure(GradleConnectionException)#onFailure(GradleConnectionException) method is called with the appropriate exception. See run() for a description of the various exceptions that the operation may fail with.

throws:
IllegalStateException When the connection has been closed or is closing.
Parameters:
handler - The handler to supply the result to.
Since:
1.0-milestone-3


setJavaHome

public BuildLauncher setJavaHome(File javaHome)
{@inheritDoc}
Since:
1.0-milestone-8


setJvmArguments

public BuildLauncher setJvmArguments(String... jvmArguments)
{@inheritDoc}
Since:
1.0-milestone-9


setStandardError

public BuildLauncher setStandardError(OutputStream outputStream)
{@inheritDoc}
Since:
1.0-milestone-3


setStandardInput

public BuildLauncher setStandardInput(InputStream inputStream)
{@inheritDoc}
Since:
1.0-milestone-7


setStandardOutput

public BuildLauncher setStandardOutput(OutputStream outputStream)
{@inheritDoc}
Since:
1.0-milestone-3


withArguments

public BuildLauncher withArguments(String... arguments)
{@inheritDoc}
Since:
1.0


 

Gradle API 1.12