CompileOptions

API 文档CompileOptions

Java 编译的主要选项。

属性

属性描述
annotationProcessorGeneratedSourcesDirectory
已弃用
已替换

用于放置由注解处理器生成的源文件的目录。

annotationProcessorPath

用于加载注解处理器的 classpath。此路径也用于注解处理器发现。

bootstrapClasspath

用于编译器进程的 bootstrap classpath。默认为 null

compilerArgs

返回传递给编译器的任何附加参数。默认为空列表。此处可以添加 DSL 不支持的编译器参数。例如,可以传递较新 Java 版本中添加的 --enable-preview 选项

compilerArgumentProviders

编译器参数提供者。

debug

指定是否在生成的 class 文件中包含调试信息。默认为 true。有关将生成哪些调试信息,请参阅 DebugOptions.getDebugLevel()

debugOptions

返回用于生成调试信息的选项。

deprecation

指定是否记录已弃用成员或类用法的详细信息。默认为 false

encoding

读取源文件时使用的字符编码。默认为 null,此时将使用平台默认编码。

extensionDirs

用于编译器进程的扩展目录。默认为 null

failOnError

指定编译失败时是否使构建失败。默认为 true

fork

指定是否在自己的进程中运行编译器。请注意,这不一定意味着每个编译任务都会创建一个新进程。默认为 false

forkOptions

返回在子进程中运行编译器的选项。

generatedSourceOutputDirectory

用于放置由注解处理器生成的源文件的目录。

headerOutputDirectory

如果此选项设置为非 null 目录,则将传递给 Java 编译器的 `-h` 选项,提示它在该目录中生成原生头文件。

incremental

告知是否使用增量编译功能。参阅 CompileOptions.setIncremental(boolean)

incrementalAfterFailure
孵化中

用于在失败后启用或禁用增量编译。

javaModuleMainClass

设置 Java 模块的主类,如果该模块应为可执行模块。

javaModuleVersion

设置 Java 模块的版本。

listFiles

指定是否记录要编译的文件。默认为 false

release

为此编译任务配置 Java 语言版本(--release 编译器标志)。

sourcepath

用于编译的源路径。

verbose

指定是否产生详细输出。默认为 false

warnings

指定是否记录警告消息。默认为 true

方法

方法描述
debug(debugArgs)
已弃用

使用命名参数语法设置 DebugOptions 的便捷方法。调用此方法会将 debug 设置为 true

fork(forkArgs)
已弃用

使用命名参数语法设置 ForkOptions 的便捷方法。调用此方法会将 fork 设置为 true

脚本块

无脚本块

属性详情

File annotationProcessorGeneratedSourcesDirectory

注意:此属性已弃用,将在 Gradle 的下一个主要版本中移除。

注意:此属性已被 generatedSourceOutputDirectory 替换。

用于放置由注解处理器生成的源文件的目录。

使用 java 插件时的默认值
${project.layout.buildDirectory}/generated/sources/annotationProcessor/${sourceDirectorySet.name}/${sourceSet.name}

FileCollection annotationProcessorPath

用于加载注解处理器的 classpath。此路径也用于注解处理器发现。

使用 java 插件时的默认值
sourceSet.annotationProcessorPath

FileCollection bootstrapClasspath

用于编译器进程的 bootstrap classpath。默认为 null

使用 java 插件时的默认值
null

List<String> compilerArgs

返回传递给编译器的任何附加参数。默认为空列表。此处可以添加 DSL 不支持的编译器参数。例如,可以传递较新 Java 版本中添加的 --enable-preview 选项

compilerArgs.add("--enable-preview")

注意,如果添加了 --release,则忽略 -target-source

使用 java 插件时的默认值
[]

List<CommandLineArgumentProvider> compilerArgumentProviders (只读)

编译器参数提供者。

使用 java 插件时的默认值
[]

boolean debug

指定是否在生成的 class 文件中包含调试信息。默认为 true。有关将生成哪些调试信息,请参阅 DebugOptions.getDebugLevel()

使用 java 插件时的默认值
true

DebugOptions debugOptions

返回用于生成调试信息的选项。

boolean deprecation

指定是否记录已弃用成员或类用法的详细信息。默认为 false

使用 java 插件时的默认值
false

String encoding

读取源文件时使用的字符编码。默认为 null,此时将使用平台默认编码。

使用 java 插件时的默认值
null

String extensionDirs

用于编译器进程的扩展目录。默认为 null

使用 java 插件时的默认值
null

boolean failOnError

指定编译失败时是否使构建失败。默认为 true

使用 java 插件时的默认值
true

boolean fork

指定是否在自己的进程中运行编译器。请注意,这不一定意味着每个编译任务都会创建一个新进程。默认为 false

使用 java 插件时的默认值
false

ForkOptions forkOptions

返回在子进程中运行编译器的选项。

DirectoryProperty generatedSourceOutputDirectory

用于放置由注解处理器生成的源文件的目录。

使用 java 插件时的默认值
${project.layout.buildDirectory}/generated/sources/annotationProcessor/${sourceDirectorySet.name}/${sourceSet.name}

DirectoryProperty headerOutputDirectory

如果此选项设置为非 null 目录,则将传递给 Java 编译器的 `-h` 选项,提示它在该目录中生成原生头文件。

使用 java 插件时的默认值
${project.layout.buildDirectory}/generated/sources/headers/${sourceDirectorySet.name}/${sourceSet.name}

boolean incremental

告知是否使用增量编译功能。参阅 CompileOptions.setIncremental(boolean)

使用 java 插件时的默认值
true

Property<Boolean> incrementalAfterFailure

注意:此属性正处于孵化中,将来版本的 Gradle 中可能会更改。

用于在失败后启用或禁用增量编译。

默认情况下,Java 和 Groovy 在失败后启用增量编译。对 Scala 无效。如果未启用增量编译,也无效。

使用 Java 命令行编译器时(即通过 forkOptions.javaHome 传递自定义 Java home 或通过 forkOptions.executable 传递 javac),此优化会自动禁用,因为编译器不是通过编译器 API 调用的。

使用 java 插件时的默认值
true

Property<String> javaModuleMainClass

设置 Java 模块的主类,如果该模块应为可执行模块。

Property<String> javaModuleVersion

设置 Java 模块的版本。

boolean listFiles

指定是否记录要编译的文件。默认为 false

使用 java 插件时的默认值
false

Property<Integer> release

为此编译任务配置 Java 语言版本(--release 编译器标志)。

如果设置此项,它将优先于 AbstractCompile.getSourceCompatibility()AbstractCompile.getTargetCompatibility() 设置。

此选项仅由 JavaCompile 任务考虑。

FileCollection sourcepath

用于编译的源路径。

源路径指示必要时可以编译的源文件的位置。它实际上是 classpath 的补充,要编译的类是以源文件形式存在的。它指示正在编译的实际主要源文件。

对于使用依赖管理的现代构建,Java 编译器的 source path 功能很少需要。

source path 的默认值为 null,表示一个源路径。请注意,这与 javac-sourcepath 选项的默认值不同,后者使用由 -classpath 指定的值。如果您希望使用任何源路径,必须明确设置。

使用 java 插件时的默认值
null

boolean verbose

指定是否产生详细输出。默认为 false

使用 java 插件时的默认值
false

boolean warnings

指定是否记录警告消息。默认为 true

使用 java 插件时的默认值
true

方法详情

CompileOptions debug(Map<String, Object> debugArgs)

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

使用命名参数语法设置 DebugOptions 的便捷方法。调用此方法会将 debug 设置为 true

CompileOptions fork(Map<String, Object> forkArgs)

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

使用命名参数语法设置 ForkOptions 的便捷方法。调用此方法会将 fork 设置为 true