CompileOptions

API 文件CompileOptions

Java 編譯的主要選項。

屬性

屬性描述
annotationProcessorGeneratedSourcesDirectory
已過時
已取代

放置註解處理器產生之來源檔案的目錄。

annotationProcessorPath

用於載入註解處理器的類別路徑。此路徑也用於註解處理器探索。

bootstrapClasspath

用於編譯器程序的引導類別路徑。預設為 null

compilerArgs

傳回要傳遞給編譯器的任何其他引數。預設為空列表。此處可以新增 DSL 不支援的編譯器引數。例如,可以傳遞較新 Java 版本中新增的 --enable-preview 選項

compilerArgumentProviders

編譯器引數提供者。

debug

告知是否在產生的類別檔案中包含偵錯資訊。預設為 true。請參閱 DebugOptions.getDebugLevel() 以了解將產生哪些偵錯資訊。

debugOptions

傳回用於產生偵錯資訊的選項。

deprecation

告知是否記錄已過時成員或類別之使用方式的詳細資訊。預設為 false

encoding

讀取原始碼檔案時要使用的字元編碼。預設為 null,在此情況下將使用平台預設編碼。

extensionDirs

用於編譯器程序的擴充目錄。預設為 null

failOnError

告知編譯失敗時是否使建置失敗。預設為 true

fork

告知是否在其自己的程序中執行編譯器。請注意,這不一定表示將為每個編譯任務建立新的程序。預設為 false

forkOptions

傳回用於在子程序中執行編譯器的選項。

generatedSourceOutputDirectory

放置註解處理器產生之來源檔案的目錄。

headerOutputDirectory

如果此選項設定為非空目錄,則會將其傳遞給 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

用於載入註解處理器的類別路徑。此路徑也用於註解處理器探索。

使用 java 外掛程式的預設值
sourceSet.annotationProcessorPath

FileCollection bootstrapClasspath

用於編譯器程序的引導類別路徑。預設為 null

使用 java 外掛程式的預設值
null

List<String> compilerArgs

傳回要傳遞給編譯器的任何其他引數。預設為空列表。此處可以新增 DSL 不支援的編譯器引數。例如,可以傳遞較新 Java 版本中新增的 --enable-preview 選項

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

請注意,如果新增 --release,則會忽略 -target-source

使用 java 外掛程式的預設值
[]

List<CommandLineArgumentProvider> compilerArgumentProviders (唯讀)

編譯器引數提供者。

使用 java 外掛程式的預設值
[]

boolean debug

告知是否在產生的類別檔案中包含偵錯資訊。預設為 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

如果此選項設定為非空目錄,則會將其傳遞給 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 命令列編譯器時,亦即當自訂 java 首頁傳遞至 forkOptions.javaHome 或 javac 傳遞至 forkOptions.executable 時,此最佳化會自動停用,因為編譯器不是透過編譯器 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

用於編譯的原始碼路徑。

原始碼路徑指示來源檔案的位置,這些來源檔案在必要時可能會被編譯。它實際上是類別路徑的補充,其中要編譯的類別採用原始碼形式。它指示正在編譯的實際主要來源。

對於使用相依性管理的現代建置,Java 編譯器的原始碼路徑功能很少需要。

原始碼路徑的預設值為 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