Starlark 中 Java 編譯支援的公用程式。
成員
BootClassPathInfo
Provider java_common.BootClassPathInfo
compile
struct java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, bootclasspath=None, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])
參數
參數 | 說明 |
---|---|
ctx
|
ctx;
必要 規則背景資訊。 |
source_jars
|
檔案的序列;
預設值為 [] 要編譯的 jar 清單。至少須指定 source_jars 或 source_files 其中之一。 |
source_files
|
檔案的序列;
預設值為 [] 要編譯的 Java 來源檔案清單。至少須指定 source_jars 或 source_files 其中之一。 |
output
|
檔案;
必要 |
output_source_jar
|
檔案;或 None ;
預設值為 None 輸出來源 jar 檔案。如果不設定,預設值為 `{output_jar}-src.jar`。 |
javac_opts
|
字串的序列;
預設值為 [] 所需 javac 選項的清單。 |
deps
|
結構的序列;
預設值為 [] 依附元件清單。 |
runtime_deps
|
結構的序列;
預設值為 [] 執行階段依附元件的清單。 |
exports
|
結構的序列;
預設值為 [] 匯出項目清單。 |
plugins
|
結構的序列;結構的序列;
預設值為 [] 外掛程式清單。 |
exported_plugins
|
結構的序列;結構的序列;
預設值為 [] 匯出的外掛程式清單。 |
native_libraries
|
CcInfo 的序列;
預設值為 [] CC 這個程式庫所需的原生程式庫依附元件。 |
annotation_processor_additional_inputs
|
檔案的序列;
預設值為 [] 此為清單,列出 Java 編譯動作除了用於註解處理的 Java 來源之外,還需要進行哪些輸入。 |
annotation_processor_additional_outputs
|
檔案的序列;
預設值為 [] Java 編譯動作除了透過註解處理的類別 jar 以外,還會輸出的輸出內容清單。 |
strict_deps
|
string;
預設值為 'ERROR' 指定如何處理嚴格 deps 的字串。可能的值:「OFF」、「ERROR」、「WARN」和「DEFAULT」詳情請參閱 --strict_java_deps
|
java_toolchain
|
資訊;
必要 要用於此編譯的 JavaToolchainInfo。必要欄位。 |
bootclasspath
|
預設值為 None 要用於這項編譯的 BootClassPathInfo。如果存在,則會覆寫與所提供 java_toolchain 相關聯的 bootclasspath。 |
host_javabase
|
預設值為 None 已淘汰,此參數已淘汰,並將在近期內移除。請勿仰賴這項功能。這項功能已停用 --incompatible_java_common_parameters 。請使用這個標記確認您的程式碼是否與即將移除的程式碼相容。已淘汰:您可以捨棄這個參數 (host_javabase 會與 java_toolchain 一併提供) |
sourcepath
|
檔案的序列;
預設值為 [] |
resources
|
檔案的序列;
預設值為 [] |
resource_jars
|
檔案的序列;
預設值為 [] |
classpath_resources
|
檔案的序列;
預設值為 [] |
neverlink
|
bool;
預設值為 False |
enable_annotation_processing
|
bool;
預設值為 True 停用這項編譯中的註解處理功能,導致外掛程式或 export_plugins 中提供的註解處理工具遭到忽略。 |
enable_compile_jar_action
|
bool;
預設值為 True 啟用標頭編譯或 ijar 建立功能。如果設為 False,系統就會強制在任何依附元件的編譯類別路徑中使用完整的類別 jar。這麼做適用於非程式庫目標 (例如沒有依附元件的二進位檔)。 |
add_exports
|
字串的序列;
預設值為 [] 允許這個程式庫存取指定的 |
add_opens
|
字串的序列;
預設值為 [] 允許這個程式庫反射存取指定的 |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
合併
struct java_common.merge(providers)
參數
參數 | 說明 |
---|---|
providers
|
結構的序列;
必要 要合併的供應商清單。 |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)
JavaInfo#source_jar
參數
參數 | 說明 |
---|---|
actions
|
動作;
必要 ctx.actions |
output_jar
|
檔案;或 None ;
預設值為 None 已淘汰,此參數已淘汰,並將在近期內移除。請勿仰賴這項功能。這項功能已停用 --incompatible_java_common_parameters 。請使用這個標記確認您的程式碼是否與即將移除的程式碼相容。已淘汰:規則的輸出 jar。用來為產生的來源 jar 命名。參數會將 output_source_jar 參數設為 `{output_jar}-src.jar`。請直接使用 output_source_jar 參數。 |
output_source_jar
|
檔案;或 None ;
預設值為 None 輸出來源 jar 檔案。 |
sources
|
檔案的序列;
預設值為 [] 要封裝至來源 jar 的 Java 來源檔案清單。 |
source_jars
|
檔案的序列;
預設值為 [] 要封裝至來源 jar 的來源 jar 清單。 |
java_toolchain
|
資訊;
必要 用來尋找 ijar 工具的 JavaToolchainInfo。 |
host_javabase
|
預設值為 None 已淘汰,此參數已淘汰,並將在近期內移除。請勿仰賴這項功能。這項功能已停用 --incompatible_java_common_parameters 。請使用這個標記確認您的程式碼是否與即將移除的程式碼相容。已淘汰:您可以捨棄這個參數 (host_javabase 會與 java_toolchain 一併提供) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)
JavaInfo#compile_jar
。
參數
參數 | 說明 |
---|---|
actions
|
動作;
必要 ctx.actions |
jar
|
檔案;
必要 要執行 ijar 的 jar 檔案。 |
target_label
|
標籤;或 None ;
預設值為 None 要用來蓋印 jar 檔案的目標標籤。用於 add_dep 支援服務。一般而言,您會傳遞 ctx.label 以使用目前規則的標籤蓋上 jar 檔案。
|
java_toolchain
|
資訊;
必要 用來尋找 ijar 工具的 JavaToolchainInfo。 |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)
add_dep
支援目標標籤的 jar 檔案。傳回值通常會傳遞至 JavaInfo#compile_jar
。盡可能使用 run_ijar
。
參數
參數 | 說明 |
---|---|
actions
|
動作;
必要 ctx.actions |
jar
|
檔案;
必要 要執行戳記_jar 的 jar 檔案。 |
target_label
|
標籤;
必要 要用來蓋印 jar 檔案的目標標籤。用於 add_dep 支援服務。一般而言,您會傳遞 ctx.label 以使用目前規則的標籤蓋上 jar 檔案。
|
java_toolchain
|
資訊;
必要 用來尋找戳記_jar 工具的 JavaToolchainInfo。 |