GroovyCompileOptions

传递给 Groovy 编译器的编译选项。

属性

属性描述
configurationScript

一个 Groovy 脚本文件,用于配置编译器,从而对代码的编译方式进行广泛控制。

disabledGlobalASTTransformations

不应加载到 Groovy 编译器中的全局 AST 转换集合。

encoding

指定源文件编码。默认为 UTF-8

failOnError

指定如果发生编译错误时编译任务是否应该失败。默认为 true

fileExtensions

可接受的源文件扩展名列表。仅在使用 Groovy 1.7 或更高版本进行编译时生效。默认为 ImmutableList.of("java", "groovy")

fork

指定是否在单独的进程中运行 Groovy 编译器。默认为 true

forkOptions

返回用于在单独进程中运行 Groovy 编译器的选项。这些选项仅在 fork 设置为 true 时生效。

javaAnnotationProcessing

Groovy 代码是否应该进行 Java 注解处理。

keepStubs

指定在 Java/Groovy 联合编译期间生成的 Groovy 类对应的 Java 存根文件是否在编译完成后保留。对于联合编译调试很有用。默认为 false

listFiles

指定是否打印将要编译的源文件。默认为 false

optimizationOptions

返回 Groovy 编译器的优化选项。选项允许的值为 truefalse。仅在使用 Groovy 1.8 或更高版本进行编译时生效。

parameters

Groovy 编译器是否生成元数据,以便在 JDK 8 及更高版本上通过反射获取方法参数名称。

stubDir

在 Java/Groovy 联合编译期间,Groovy 类对应的 Java 存根文件将存储的目录。默认为 null,此时将使用临时目录。

verbose

指定是否开启详细输出。默认为 false

方法

方法描述
fork(forkArgs)
已废弃

使用命名参数语法设置 GroovyForkOptions 的便捷方法。调用此方法将设置 forktrue

脚本块

没有脚本块

属性详情

File configurationScript

一个 Groovy 脚本文件,用于配置编译器,从而对代码的编译方式进行广泛控制。

该脚本作为 Groovy 代码执行,具有以下上下文

这有助于实现以下模式

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

例如,要为所有 Groovy 类激活类型检查…

import groovy.transform.TypeChecked

withConfig(configuration) {
    ast(TypeChecked)
}

有关编译器配置 DSL 的更多信息,请参阅Groovy 编译器定制器构建器文档

此功能仅在使用 Groovy 2.1 或更高版本进行编译时可用。

默认值
null

SetProperty<String> disabledGlobalASTTransformations

不应加载到 Groovy 编译器中的全局 AST 转换集合。

默认值
["groovy.grape.GrabAnnotationTransformation"]

String encoding

指定源文件编码。默认为 UTF-8

默认值
UTF-8

boolean failOnError

指定如果发生编译错误时编译任务是否应该失败。默认为 true

默认值
true

List<String> fileExtensions

可接受的源文件扩展名列表。仅在使用 Groovy 1.7 或更高版本进行编译时生效。默认为 ImmutableList.of("java", "groovy")

默认值
["java", "groovy"]

boolean fork

指定是否在单独的进程中运行 Groovy 编译器。默认为 true

默认值
true

GroovyForkOptions forkOptions

返回用于在单独进程中运行 Groovy 编译器的选项。这些选项仅在 fork 设置为 true 时生效。

boolean javaAnnotationProcessing

Groovy 代码是否应该进行 Java 注解处理。

Groovy 代码的注解处理是通过让注解处理器访问 Groovy 编译器生成的 Java 存根文件来实现的,以便支持 Groovy 和 Java 源代码的联合编译。

当设置为 true 时,将无条件为所有 Groovy 源文件生成存根文件,并且 Java 注解处理器将在这些存根文件上执行。

当此选项设置为 false(默认值)时,Groovy 代码将不会进行注解处理,但任何联合编译的 Java 代码会进行。如果 Java 编译选项中指定了编译器参数 "-proc:none",则此标志的值将被忽略。无论如何,都不会对 Java 或 Groovy 源文件执行注解处理。

默认值
false

boolean keepStubs

指定在 Java/Groovy 联合编译期间生成的 Groovy 类对应的 Java 存根文件是否在编译完成后保留。对于联合编译调试很有用。默认为 false

默认值
false

boolean listFiles

指定是否打印将要编译的源文件。默认为 false

默认值
false

Map<String, Boolean> optimizationOptions

返回 Groovy 编译器的优化选项。选项允许的值为 truefalse。仅在使用 Groovy 1.8 或更高版本进行编译时生效。

已知选项有

indy
使用 invokedynamic 字节码指令。需要 JDK7 或更高版本以及 Groovy 2.0 或更高版本。默认禁用。
int
优化基本类型(如整数)的操作。默认启用。
all
启用或禁用所有优化。请注意,某些优化可能互斥。
默认值
[:]

boolean parameters

Groovy 编译器是否生成元数据,以便在 JDK 8 及更高版本上通过反射获取方法参数名称。

默认值
false

File stubDir

在 Java/Groovy 联合编译期间,Groovy 类对应的 Java 存根文件将存储的目录。默认为 null,此时将使用临时目录。

默认值
null

boolean verbose

指定是否开启详细输出。默认为 false

默认值
false

方法详情

注意:此方法已废弃,并将在 Gradle 的下一个主要版本中移除。

使用命名参数语法设置 GroovyForkOptions 的便捷方法。调用此方法将设置 forktrue