成員
- BootClassPathInfo
- compile
- JavaPluginInfo
- JavaRuntimeInfo
- JavaToolchainInfo
- make_non_strict
- 合併
- pack_sources
- 提供者
- run_ijar
- stamp_jar
- to_java_binary_info
BootClassPathInfo
Provider java_common.BootClassPathInfo用於提供 bootclasspath 資訊的供應商
compile
JavaInfo 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, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])透過實作 Starlark 規則來編譯 Java 來源檔案/jars,並傳回代表編譯結果的提供者,也可新增至此規則發出的提供者組合。
參數
參數 | 說明 |
---|---|
ctx
|
必要 規則結構定義。 |
source_jars
|
sequence of Files ;
default = []要編譯的 jar 清單。至少須指定一個 source_jars 或 source_files。 |
source_files
|
sequence of Files ;
default = []要編譯的 Java 來源檔案清單。至少須指定一個 source_jars 或 source_files。 |
output
|
必填 |
output_source_jar
|
File; or None ;
default = None輸出來源 jar。選用設定。如未設定,預設值為 `{output_jar}-src.jar`。 |
javac_opts
|
sequence of strings ;
default = []所需 Javac 選項的清單。選用。 |
deps
|
sequence of JavaInfos ;
預設值 = []依附元件清單。選用。 |
runtime_deps
|
sequence of JavaInfos ;
預設值 = []執行階段依附元件清單。選用。 |
exports
|
sequence of JavaInfos ;
預設值 = []匯出項目清單。選用。 |
plugins
|
sequence of JavaPluginInfos; or sequence of JavaInfos ;
default = []外掛程式清單。選用。 |
exported_plugins
|
sequence of JavaPluginInfos; or sequence of JavaInfos ;
default = []已匯出的外掛程式清單。選用。 |
native_libraries
|
sequence of CcInfos ;
預設值 = []CC 需要這個程式庫所需的原生程式庫依附元件。 |
annotation_processor_additional_inputs
|
sequence of Files ;
default = []除了 Java 來源之外,Java 編譯動作還會採取的輸入內容清單。 |
annotation_processor_additional_outputs
|
sequence of Files ;
default = []除了來自註解處理的類別 jar 外,Java 編譯動作還會輸出一份輸出內容清單。 |
strict_deps
|
default = 'ERROR' 這個字串用於指定處理嚴格依附元件的方式。可能的值:「OFF」、「ERROR」、「WARN」和「DEFAULT」。詳情請參閱 /docs/user-manual#flag--strict_java_deps。預設值為「ERROR」。 |
java_toolchain
|
必要 要用於此編譯的 JavaToolchainInfo。必填。 |
host_javabase
|
default = None 已淘汰。此參數已淘汰,即將移除。請勿完全仰賴它。 --+incompatible_java_common_parameters 已停用這項功能。使用此旗標確認您的程式碼是否與即將移除的程式碼相容。已淘汰:您可以捨棄這個參數 (host_javabase 提供給 java_toolchain) |
sourcepath
|
sequence of Files ;預設值 = [] |
resources
|
sequence of Files ;預設值 = [] |
resource_jars
|
sequence of Files ;預設值 = [] |
classpath_resources
|
sequence of Files ;預設值 = [] |
neverlink
|
預設 = False |
enable_annotation_processing
|
default = True 停用這項編譯中的註解處理功能,讓系統忽略外掛程式或 export_plugins of deps 中提供的任何註解處理工具。 |
enable_compile_jar_action
|
default = True 啟用標頭編譯或 ijar 建立功能。如果設為 False,系統會在任何依附元件的編譯類別路徑中強制使用完整的類別 jar。這種做法可用於非程式庫目標,例如沒有依附關係的二進位檔。 |
add_exports
|
sequence of strings ;
default = []允許這個程式庫存取指定的 |
add_opens
|
sequence of strings ;
default = []允許這個程式庫反映存取指定的 |
JavaPluginInfo
Provider java_common.JavaPluginInfo這個金鑰是用來擷取含有 Java 外掛程式相關資訊的供應器。與
JavaPluginInfo
可存取相同值。想在新程式碼中使用
JavaPluginInfo
。JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo用來擷取供應器的金鑰,其中包含目前使用的 Java 執行階段相關資訊。
JavaToolchainInfo
Provider java_common.JavaToolchainInfo用來擷取供應器的金鑰,其中包含正在使用的 Java 工具鍊相關資訊。
make_non_strict
JavaInfo java_common.make_non_strict(java_info)傳回新的 Java 提供者,其 Direct-jars 部分為指定 Java 提供者的直接和間接 jar 聯集。
參數
參數 | 說明 |
---|---|
java_info
|
必要 java 資訊。 |
合併
JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)將指定的提供者合併為單一 JavaInfo。
參數
參數 | 說明 |
---|---|
providers
|
sequence of JavaInfos ;
必要要合併的供應商清單。 |
merge_java_outputs
|
預設 = True |
merge_source_jars
|
預設 = True |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)將來源和來源 jar 封裝成單一來源 jar 檔案。傳回值通常會傳遞至
JavaInfo#source_jar
參數
參數 | 說明 |
---|---|
actions
|
必要 ctx.actions |
output_jar
|
File; or None ;
default = None已淘汰。此參數已淘汰,即將移除。請勿完全仰賴它。 --+incompatible_java_common_parameters 已停用這項功能。使用此旗標確認您的程式碼是否與即將移除的程式碼相容。已淘汰:規則的輸出 jar。用來為產生的來源 jar 命名。這個參數會將 output_source_jar 參數設為 `{output_jar}-src.jar`。請改用 output_source_jar 參數。 |
output_source_jar
|
File; or None ;
default = None輸出來源 jar。 |
sources
|
sequence of Files ;
default = []要封裝至來源 jar 中的 Java 來源檔案清單。 |
source_jars
|
sequence of Files ;
default = []要封裝到來源 jar 中的來源 jar 清單。 |
java_toolchain
|
必要 用來尋找 ijar 工具的 JavaToolchainInfo。 |
host_javabase
|
default = None 已淘汰。此參數已淘汰,即將移除。請勿完全仰賴它。 --+incompatible_java_common_parameters 已停用這項功能。使用此旗標確認您的程式碼是否與即將移除的程式碼相容。已淘汰:您可以捨棄這個參數 (host_javabase 提供給 java_toolchain) |
None
。供應商
Provider java_common.provider傳回 Java 宣告的供應器。
值與
JavaInfo
可存取。想在新程式碼中使用
JavaInfo
。run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)在罐子上執行 ijar,去除其方法主體。如此一來,僅僅對方法實作僅有簡單變更的重新編譯時,有助於減少在重新編譯期間重建相依的 Jar。傳回的值通常會傳遞至
JavaInfo#compile_jar
。
參數
參數 | 說明 |
---|---|
actions
|
必要 ctx.actions |
jar
|
必填 要執行 ijar 的 jar。 |
target_label
|
Label; or None ;
default = None用來標記 jar 檔案的目標標籤。用於 add_dep 支援。一般而言,您通常會傳遞 ctx.label ,以目前規則的標籤蓋章。 |
java_toolchain
|
必要 用來尋找 ijar 工具的 JavaToolchainInfo。 |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)戳記 jar 有支援
add_dep
的目標標籤。傳回的值通常會傳遞至 JavaInfo#compile_jar
。請盡可能使用 run_ijar
。
參數
參數 | 說明 |
---|---|
actions
|
必要 ctx.actions |
jar
|
必填 要執行戳記_jar 的 jar。 |
target_label
|
必填 用來讓罐子裝章的目標標籤。用於 add_dep 支援。一般而言,您通常會傳遞 ctx.label ,以目前規則的標籤蓋章。 |
java_toolchain
|
必要 用於找到戳記 jar 工具的 JavaToolchainInfo。 |
to_java_binary_info
JavaInfo java_common.to_java_binary_info(java_info)傳回指定 JavaInfo 的副本,以及 java_binary 傳回的少量資訊。
參數
參數 | 說明 |
---|---|
java_info
|
必要 要強化的 JavaInfo。 |