成員
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 | 必要 規則情境。 | 
| source_jars | 序列的 File;
預設值為 []要編譯的罐子清單。至少應指定 source_jars 或 source_files 其中之一。 | 
| source_files | sequence of Files;預設為 []。要編譯的 Java 來源檔案清單。至少應指定 source_jars 或 source_files 其中之一。 | 
| output | 必要 | 
| output_source_jar | File;或 None;預設為None輸出來源 JAR。(選用步驟) 如未設定,預設值為 `{output_jar}-src.jar`。 | 
| javac_opts | 字串序列;預設值為 []所需 javac 選項的清單。選用。 | 
| deps | sequence of structs;預設為 []依附元件清單。選用。 | 
| runtime_deps | struct 的序列;預設值為 []執行階段依附元件清單。選用。 | 
| exports | sequence of structs;
                                     預設為 []匯出項目清單。選用。 | 
| plugins | struct 的序列;或 struct 的序列;預設為 []外掛程式清單。選用。 | 
| exported_plugins | sequence of structs;或 sequence of structs;預設為 []匯出的外掛程式清單。選用。 | 
| native_libraries | CcInfo 的序列;預設為 []。這個程式庫所需的 CC 原生程式庫依附元件。 | 
| annotation_processor_additional_inputs | 序列的 File;
                                     預設為 []Java 編譯動作除了註解處理的 Java 來源之外,還會採用的輸入清單。 | 
| annotation_processor_additional_outputs | sequence of Files;
                                     預設為 []Java 編譯動作除了註解處理的類別 JAR 之外,還會輸出的清單。 | 
| strict_deps | 預設值為 'ERROR'這個字串會指定如何處理嚴格的依附元件。可能的值包括:'OFF'、'ERROR'、'WARN' 和 'DEFAULT'。詳情請參閱 /docs/user-manual#flag--strict_java_deps。預設值為「ERROR」。 | 
| java_toolchain | 必要 用於這個編譯作業的 JavaToolchainInfo。必要元素。 | 
| bootclasspath | 預設值為 None要用於這項編譯作業的 BootClassPathInfo。如有這個欄位,則會覆寫與所提供 java_toolchain 相關聯的啟動類別路徑。選用。 | 
| host_javabase | 預設值為 None已淘汰。這項參數已淘汰,並將在近期內移除。因此請勿依賴這項功能。使用 --+incompatible_java_common_parameters停用。請使用這個標記,確認程式碼與即將移除的項目相容。已淘汰:您可以捨棄這個參數 (java_toolchain 提供 host_javabase) | 
| sourcepath | File 的序列;預設為 [] | 
| resources | File 的序列;預設為 [] | 
| resource_jars | File 的序列;預設為 [] | 
| classpath_resources | File 的序列;預設為 [] | 
| neverlink | 預設值為 False | 
| enable_annotation_processing | 預設為 True停用這個編譯中的註解處理作業,導致系統忽略外掛程式或 deps 的 exported_plugins 中提供的任何註解處理器。 | 
| enable_compile_jar_action | 預設為 True啟用標頭編譯或 ijar 建立。如果設為 False,系統會在任何依附元件的編譯類別路徑中,強制使用完整類別 JAR。這麼做是為了供沒有依附元件的二進位檔等非程式庫目標使用。 | 
| add_exports | 字串的序列;
                                     預設值為 []允許這個程式庫存取指定的 | 
| add_opens | 字串的序列;
                                     預設值為 []允許這個程式庫以反射方式存取指定的 | 
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
合併
struct java_common.merge(providers)
參數
| 參數 | 說明 | 
|---|---|
| providers | struct 的序列;必要 要合併的供應商清單。 | 
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 | File 或 None;預設值為None已淘汰。這項參數已淘汰,並將在近期內移除。因此請勿依賴這項功能。使用 --+incompatible_java_common_parameters停用。請使用這個標記,確認程式碼與即將移除的項目相容。已淘汰:規則的輸出 JAR。用來命名產生的來源 JAR。這個參數會將 output_source_jar 參數設為 `{output_jar}-src.jar`。請改為直接使用 output_source_jar 參數。 | 
| output_source_jar | File;或 None;預設為None輸出來源 JAR。 | 
| sources | sequence of Files;
預設值為 []要封裝至來源 JAR 的 Java 來源檔案清單。 | 
| source_jars | sequence of Files;預設為 []要封裝到來源 JAR 中的來源 JAR 清單。 | 
| java_toolchain | 必要 用來尋找 ijar 工具的 JavaToolchainInfo。 | 
| host_javabase | 預設值為 None已淘汰。這項參數已淘汰,並將在近期內移除。因此請勿依賴這項功能。使用 --+incompatible_java_common_parameters停用。請使用這個標記,確認程式碼與即將移除的項目相容。已淘汰:您可以捨棄這個參數 (java_toolchain 提供 host_javabase) | 
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 | Label;或 None;預設為None用來蓋章 JAR 的目標標籤。用於 add_dep支援。通常您會傳遞ctx.label,以使用目前規則的標籤蓋上罐子。 | 
| java_toolchain | 必要 用來尋找 ijar 工具的 JavaToolchainInfo。 | 
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)
add_dep。傳回值通常會傳遞至 JavaInfo#compile_jar。建議盡可能使用 run_ijar。
          
      參數
| 參數 | 說明 | 
|---|---|
| actions | 必要 ctx.actions | 
| jar | 必要 要執行 stamp_jar 的 JAR。 | 
| target_label | 必要 要蓋在罐子上的目標標籤。用於 add_dep支援。通常您會傳遞ctx.label,以使用目前規則的標籤蓋上罐子。 | 
| java_toolchain | required A JavaToolchainInfo to used to find the stamp_jar tool. |