GroovyCompileOptions

API Documentation:GroovyCompileOptions

Compilation options to be passed to the Groovy compiler.

Properties

PropertyDescription
configurationScript

A Groovy script file that configures the compiler, allowing extensive control over how the code is compiled.

disabledGlobalASTTransformations

The set of global AST transformations which should not be loaded into the Groovy compiler.

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

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.

javaAnnotationProcessing

Whether the Groovy code should be subject to Java annotation processing.

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.

parameters

Whether the Groovy compiler generate metadata for reflection on method parameter names on JDK 8 and above.

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.

verbose

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

Methods

MethodDescription
fork(forkArgs)

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

Script blocks

No script blocks

Property details

File configurationScript

A Groovy script file that configures the compiler, allowing extensive control over how the code is compiled.

The script is executed as Groovy code, with the following context:

This facilitates the following pattern:

withConfig(configuration) {
  // use compiler configuration DSL here
}

For example, to activate type checking for all Groovy classes…

import groovy.transform.TypeChecked

withConfig(configuration) {
    ast(TypeChecked)
}

Please see the Groovy compiler customization builder documentation for more information about the compiler configuration DSL.

This feature is only available if compiling with Groovy 2.1 or later.

Default:
null

SetProperty<String> disabledGlobalASTTransformations

The set of global AST transformations which should not be loaded into the Groovy compiler.

Default:
["groovy.grape.GrabAnnotationTransformation"]

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

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 javaAnnotationProcessing

Whether the Groovy code should be subject to Java annotation processing.

Annotation processing of Groovy code works by having annotation processors visit the Java stubs generated by the Groovy compiler in order to support joint compilation of Groovy and Java source.

When set to true, stubs will be unconditionally generated for all Groovy sources, and Java annotations processors will be executed on those stubs.

When this option is set to false (the default), Groovy code will not be subject to annotation processing, but any joint compiled Java code will be. If the compiler argument "-proc:none" was specified as part of the Java compile options, the value of this flag will be ignored. No annotation processing will be performed regardless, on Java or Groovy source.

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 parameters

Whether the Groovy compiler generate metadata for reflection on method parameter names on JDK 8 and above.

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 verbose

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

Default:
false

Method details

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