# GroovyCompileOptions

API Documentation: | `GroovyCompileOptions`

Compilation options to be passed to the Groovy compiler.

### Properties

Property | Description
`encoding` | Tells the source encoding. Defaults to `UTF-8`.
`failOnError` | Tells whether the compilation task should fail if compile errors occurred. Defaults to `true`.
`fileExtensions` | Incubating The list of acceptable source file extensions. Only takes effect when compiling against Groovy 1.7 or higher. Defaults to `ImmutableList.of("java", "groovy")`.
`fork` | Tells whether to run the Groovy compiler in a separate process. Defaults to `true`.
`forkOptions` | Returns options for running the Groovy compiler in a separate process. These options only take effect if `fork` is set to `true`.
`includeJavaRuntime` | Deprecated Tells whether the Java runtime should be put on the compile class path. Only takes effect if `useAnt` is `true`. Defaults to `false`.
`keepStubs` | Tells whether Java stubs for Groovy classes generated during Java/Groovy joint compilation should be kept after compilation has completed. Useful for joint compilation debugging purposes. Defaults to `false`.
`listFiles` | Tells whether to print which source files are to be compiled. Defaults to `false`.
`optimizationOptions` | Returns optimization options for the Groovy compiler. Allowed values for an option are `true` and `false`. Only takes effect when compiling against Groovy 1.8 or higher.
`stacktrace` | Deprecated Tells whether to print a stack trace when the compiler hits a problem (like a compile error). Defaults to `false`. Only used when `GroovyCompileOptions.isUseAnt()` is `true`.
`stubDir` | The directory where Java stubs for Groovy classes will be stored during Java/Groovy joint compilation. Defaults to `null`, in which case a temporary directory will be used.
`useAnt` | Deprecated Tells whether the groovyc Ant task should be used over Gradle's own Groovy compiler integration. Defaults to `false`.
`verbose` | Tells whether to turn on verbose output. Defaults to `false`.

### Property details

#### `String` `encoding`

Tells the source encoding. Defaults to `UTF-8`.

Default:
  `UTF-8`

#### `boolean` `failOnError`

Tells whether the compilation task should fail if compile errors occurred. Defaults to `true`.

Default:
  `true`

#### ``List`<`String`>` `fileExtensions`

Note: This property is incubating and may change in a future version of Gradle.

The list of acceptable source file extensions. Only takes effect when compiling against Groovy 1.7 or higher. Defaults to `ImmutableList.of("java", "groovy")`.

Default:
  `["java", "groovy"]`

#### `boolean` `fork`

Tells whether to run the Groovy compiler in a separate process. Defaults to `true`.

Default:
  `true`

#### `GroovyForkOptions` `forkOptions`

Returns options for running the Groovy compiler in a separate process. These options only take effect if `fork` is set to `true`.

#### `boolean` `includeJavaRuntime`

Note: This property is deprecated and will be removed in the next major version of Gradle.

Tells whether the Java runtime should be put on the compile class path. Only takes effect if `useAnt` is `true`. Defaults to `false`.

Default:
  `false`

#### `boolean` `keepStubs`

Tells whether Java stubs for Groovy classes generated during Java/Groovy joint compilation should be kept after compilation has completed. Useful for joint compilation debugging purposes. Defaults to `false`.

Default:
  `false`

#### `boolean` `listFiles`

Tells whether to print which source files are to be compiled. Defaults to `false`.

Default:
  `false`

#### ``Map`<`String`, `Boolean`>` `optimizationOptions`

Returns optimization options for the Groovy compiler. Allowed values for an option are `true` and `false`. Only takes effect when compiling against Groovy 1.8 or higher.

Known options are:

indy
  Use the invokedynamic bytecode instruction. Requires JDK7 or higher and Groovy 2.0 or higher. Disabled by default.
int
  Optimize operations on primitive types (e.g. integers). Enabled by default.
all
  Enable or disable all optimizations. Note that some optimizations might be mutually exclusive.

Default:
  `[:]`

#### `boolean` `stacktrace`

Note: This property is deprecated and will be removed in the next major version of Gradle.

Tells whether to print a stack trace when the compiler hits a problem (like a compile error). Defaults to `false`. Only used when `GroovyCompileOptions.isUseAnt()` is `true`.

Default:
  `false`

#### `File` `stubDir`

The directory where Java stubs for Groovy classes will be stored during Java/Groovy joint compilation. Defaults to `null`, in which case a temporary directory will be used.

Default:
  `null`

#### `boolean` `useAnt`

Note: This property is deprecated and will be removed in the next major version of Gradle.

Tells whether the groovyc Ant task should be used over Gradle's own Groovy compiler integration. Defaults to `false`.

Default:
  `false`

#### `boolean` `verbose`

Tells whether to turn on verbose output. Defaults to `false`.

Default:
  `false`

### Script blocks

No script blocks

### Methods

Method | Description
`fork(forkArgs)` | Convenience method to set `GroovyForkOptions` with named parameter syntax. Calling this method will set `fork` to `true`.

### Method details

#### `GroovyCompileOptions` `fork`(`Map` forkArgs)

Convenience method to set `GroovyForkOptions` with named parameter syntax. Calling this method will set `fork` to `true`.