# Interface GradleBuildInvocationSpec

@Incubating public interface GradleBuildInvocationSpec
A specification for launching a Gradle build with a specified Gradle version.

## Method Summary

Modifier and Type
Method
Description
`List<String>`
`getArguments()`
The command line arguments (excluding tasks) to invoke the build with.
`String`
`getGradleVersion()`
The Gradle version to run the build with.
`File`
`getProjectDir()`
The “root” directory of the build.
`List<String>`
`getTasks()`
The tasks to execute.
`void`
`setArguments(Iterable<String> arguments)`
Sets the command line arguments (excluding tasks) to invoke the build with.
`void`
`setGradleVersion(String gradleVersion)`
Sets the Gradle version to run the build with.
`void`
`setProjectDir(Object projectDir)`
Sets the “root” directory of the build.
`void`
`setTasks(Iterable<String> tasks)`
Sets the tasks to execute.

## Method Details

### getProjectDir

@Internal File getProjectDir()
The “root” directory of the build. Defaults to the current build's root directory.

Returns:
  The “root” project directory of the build. Never null.

### setProjectDir

void setProjectDir(Object projectDir)
Sets the “root” directory of the build. This should not be the project directory of child project in a multi project build. It should always be the root of the multiproject build. The value is interpreted as a file as per `Project.file(Object)`.

Parameters:
  `projectDir` - The “root” directory of the build.

### getGradleVersion

@Input String getGradleVersion()
The Gradle version to run the build with. Defaults to the current Gradle version of the running build.

Returns:
  The Gradle version to run the build with. Never null.

### setGradleVersion

void setGradleVersion(String gradleVersion)
Sets the Gradle version to run the build with. The value must be a valid, published, Gradle version number. Examples are:

- `"1.1"`
- `"1.0-rc-1"`

Parameters:
  `gradleVersion` - The Gradle version to run the build with.

### getTasks

@Input List<String> getTasks()
The tasks to execute. Defaults to an empty list.

Returns:
  The tasks to execute.

### setTasks

void setTasks(Iterable<String> tasks)
Sets the tasks to execute.

Parameters:
  `tasks` - The tasks to execute.

### getArguments

@Input List<String> getArguments()
The command line arguments (excluding tasks) to invoke the build with.

Returns:
  The command line arguments (excluding tasks) to invoke the build with.

### setArguments

void setArguments(Iterable<String> arguments)
Sets the command line arguments (excluding tasks) to invoke the build with.

Parameters:
  `arguments` - The command line arguments (excluding tasks) to invoke the build with.