# CompileOptions

API Documentation: | `CompileOptions`

Main options for Java compilation.

### Properties

Property | Description
`bootClasspath` | The bootstrap classpath to be used for the compiler process. Only takes effect if `fork` is `true`. Defaults to `null`.
`compilerArgs` | Returns any additional arguments to be passed to the compiler. Defaults to the empty list.
`debug` | Tells whether to include debugging information in the generated class files. Defaults to `true`. See `DebugOptions.getDebugLevel()` for which debugging information will be generated.
`debugOptions` | Returns options for generating debugging information.
`dependOptions` | Returns options for using the Ant `<depend>` task.
`deprecation` | Tells whether to log details of usage of deprecated members or classes. Defaults to `false`.
`encoding` | The character encoding to be used when reading source files. Defaults to `null`, in which case the platform default encoding will be used.
`extensionDirs` | The extension dirs to be used for the compiler process. Only takes effect if `fork` is `true`. Defaults to `null`.
`failOnError` | Tells whether to fail the build when compilation fails. Defaults to `true`.
`fork` | Tells whether to run the compiler in its own process. Note that this does not necessarily mean that a new process will be created for each compile task. Defaults to `false`.
`forkOptions` | Returns options for running the compiler in a child process.
`listFiles` | Tells whether to log the files to be compiled. Defaults to `false`.
`useDepend` | Tells whether to use the Ant `<depend>` task. Only takes effect if `useAnt` is `true`. Defaults to `false`.
`verbose` | Tells whether to produce verbose output. Defaults to `false`.
`warnings` | Tells whether to log warning messages. The default is `true`.

### Methods

Method | Description
`debug(debugArgs)` | Convenience method to set `DebugOptions` with named parameter syntax. Calling this method will set `debug` to `true`.
`depend(dependArgs)` | Convenience method to set `DependOptions` with named parameter syntax. Calling this method will set `useDepend` to `true`.
`fork(forkArgs)` | Convenience method to set `ForkOptions` with named parameter syntax. Calling this method will set `fork` to `true`.

### Script blocks

No script blocks

### Property details

#### `String` `bootClasspath`

The bootstrap classpath to be used for the compiler process. Only takes effect if `fork` is `true`. Defaults to `null`.

Default:
  `null`

#### ``List`<`String`>` `compilerArgs`

Returns any additional arguments to be passed to the compiler. Defaults to the empty list.

Default:
  `[]`

#### `boolean` `debug`

Tells whether to include debugging information in the generated class files. Defaults to `true`. See `DebugOptions.getDebugLevel()` for which debugging information will be generated.

Default:
  `true`

#### `DebugOptions` `debugOptions`

Returns options for generating debugging information.

#### `DependOptions` `dependOptions`

Returns options for using the Ant `<depend>` task.

#### `boolean` `deprecation`

Tells whether to log details of usage of deprecated members or classes. Defaults to `false`.

Default:
  `false`

#### `String` `encoding`

The character encoding to be used when reading source files. Defaults to `null`, in which case the platform default encoding will be used.

Default:
  `null`

#### `String` `extensionDirs`

The extension dirs to be used for the compiler process. Only takes effect if `fork` is `true`. Defaults to `null`.

Default:
  `null`

#### `boolean` `failOnError`

Tells whether to fail the build when compilation fails. Defaults to `true`.

Default:
  `true`

#### `boolean` `fork`

Tells whether to run the compiler in its own process. Note that this does not necessarily mean that a new process will be created for each compile task. Defaults to `false`.

Default:
  `false`

#### `ForkOptions` `forkOptions`

Returns options for running the compiler in a child process.

#### `boolean` `listFiles`

Tells whether to log the files to be compiled. Defaults to `false`.

Default:
  `false`

#### `boolean` `useDepend`

Tells whether to use the Ant `<depend>` task. Only takes effect if `useAnt` is `true`. Defaults to `false`.

Default:
  `false`

#### `boolean` `verbose`

Tells whether to produce verbose output. Defaults to `false`.

Default:
  `false`

#### `boolean` `warnings`

Tells whether to log warning messages. The default is `true`.

Default:
  `true`

### Method details

#### `CompileOptions` `debug`(``Map`<`String`, `Object`>` debugArgs)

Convenience method to set `DebugOptions` with named parameter syntax. Calling this method will set `debug` to `true`.

#### `CompileOptions` `depend`(``Map`<`String`, `Object`>` dependArgs)

Convenience method to set `DependOptions` with named parameter syntax. Calling this method will set `useDepend` to `true`.

#### `CompileOptions` `fork`(``Map`<`String`, `Object`>` forkArgs)

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