java_common

Starlark における Java コンパイル サポート用のユーティリティ。

メンバー

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 ソースファイル/JAR をコンパイルし、コンパイルの結果を表すプロバイダを返します。このプロバイダは、このルールによって出力されるプロバイダのセットに追加できます。

パラメータ

パラメータ 説明
ctx required
ルール コンテキスト。
source_jars sequence of Files; default = []
コンパイルする JAR のリスト。source_jars または source_files を少なくとも 1 つ指定する必要があります。
source_files sequence of Files; default = []
コンパイルされる Java ソースファイルのリスト。source_jars または source_files を少なくとも 1 つ指定する必要があります。
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; default = []
依存関係のリスト。省略可。
runtime_deps sequence of JavaInfos; default = []
ランタイム依存関係のリスト。省略可。
exports sequence of JavaInfos; default = []
エクスポートのリスト。省略可。
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
プラグインのリスト。省略可。
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
エクスポートされたプラグインのリスト。省略可。
native_libraries sequence of CcInfos; default = []
このライブラリに必要なネイティブ ライブラリ依存関係を 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_ツールチェーンに付属しています)
sourcepath sequence of Files; default = []
resources sequence of Files; default = []
resource_jars sequence of Files; default = []
classpath_resources sequence of Files; default = []
default = False
enable_annotation_processing default = True
このコンパイルでアノテーション処理を無効にします。これにより、プラグインまたは依存関係の export_plugins で指定されたアノテーション プロセッサは無視されます。
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)

direct-jars が指定の Java プロバイダの直接 JAR と間接 JAR の両方が結合された新しい Java プロバイダが返されます。

パラメータ

パラメータ 説明
java_info required
Java 情報。

merge

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

指定されたプロバイダを 1 つの JavaInfo に結合します。

パラメータ

パラメータ 説明
providers sequence of JavaInfos; 必須
マージするプロバイダのリスト。
merge_java_outputs default = True
merge_source_jars default = 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

.output_jar または output_source_jar のうち少なくとも 1 つのパラメータが必要です。

パラメータ

パラメータ 説明
actions 必須
resourcemanager.actions
output_jar File; or 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_ツールチェーンに付属しています)
None を返す場合があります。

provider

Provider java_common.provider

Java で宣言されたプロバイダを返します。
JavaInfo と同じ値にアクセスできます。
新しいコードで JavaInfo を使用することをおすすめします。

run_ijar

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

jar で ijar を実行し、メソッド本体を削除します。これにより、メソッドの実装の単純な変更のみで構成される再コンパイル時に、依存する JAR の再構築を削減できます。通常、戻り値は JavaInfo#compile_jar に渡されます。

パラメータ

パラメータ 説明
actions 必須
resourcemanager.actions
jar 必須
ijar を実行する JAR。
target_label Label; or None; default = 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 必須
resourcemanager.actions
jar 必須
stamp_jar を実行する jar。
target_label 必須
JAR にスタンプするためのターゲット ラベル。add_dep のサポートに使用されます。通常は、ctx.label を渡して、現在のルールのラベルで JAR にスタンプを設定します。
java_toolchain 必須
stamp_jar ツールを見つけるために使用される JavaToolchainInfo。

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

java_binary から返された最小限の情報を含む、指定された JavaInfo のコピーを返します。

パラメータ

パラメータ 説明
java_info required
拡張する JavaInfo。