java_common

問題を報告 ソースを表示 ナイトリー · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Starlark での Java コンパイル サポート用のユーティリティ。

メンバー

BootClassPathInfo

Provider java_common.BootClassPathInfo

bootclasspath 情報を提供するために使用されるプロバイダ

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=[])

Starlark ルールの実装から Java ソースファイル / JAR をコンパイルし、コンパイルの結果を表すプロバイダを返します。このプロバイダは、このルールによって出力されるプロバイダのセットに追加できます。

パラメータ

パラメータ 説明
ctx ctx; 必須
ルールのコンテキスト。
source_jars Fileシーケンス。デフォルトは []
。コンパイルする JAR のリスト。source_jars または source_files の少なくとも 1 つを指定する必要があります。
source_files ファイルシーケンス。デフォルトは []
。コンパイルする Java ソースファイルのリスト。source_jars または source_files の少なくとも 1 つを指定する必要があります。
output ファイル。必須
output_source_jar File、または None。デフォルトは None です。
出力ソースの jar。未設定の場合のデフォルトは「{output_jar}-src.jar」です。
javac_opts 文字列シーケンス。デフォルトは []
。必要な javac オプションのリスト。
deps structシーケンス。デフォルトは []
依存関係のリスト。
runtime_deps structシーケンス。デフォルトは []
ランタイム依存関係のリスト。
exports structシーケンス。デフォルトは []
です。エクスポートのリスト。
plugins structシーケンス、またはstructシーケンス。デフォルトは []
。プラグインのリスト。
exported_plugins structシーケンス、またはstructシーケンス。デフォルトは []
。エクスポートされたプラグインのリスト。
native_libraries CcInfoシーケンス。デフォルトは []
。このライブラリに必要な CC ネイティブ ライブラリの依存関係です。
annotation_processor_additional_inputs ファイルシーケンス。デフォルトは []
。アノテーション処理用の Java ソースに加えて、Java コンパイル アクションが受け取る入力のリスト。
annotation_processor_additional_outputs Fileシーケンス。デフォルトは []
Java コンパイル アクションがアノテーション処理のクラス jar に加えて出力する出力のリスト。
strict_deps 文字列。デフォルトは 'ERROR' です。
厳格な依存関係の処理方法を指定する文字列。有効な値は「OFF」、「ERROR」、「WARN」、「DEFAULT」です。詳しくは、--strict_java_deps flag をご覧ください. By default 'ERROR'.
java_toolchain Info、必須
このコンパイルに使用される JavaToolchainInfo。必須。
bootclasspath デフォルトは None
です。このコンパイルに使用する BootClassPathInfo。指定されている場合、指定された java_toolchain に関連付けられたブートクラスパスをオーバーライドします。
host_javabase デフォルトは None
です。非推奨。このパラメータは非推奨となり、まもなく削除されます。これに依存しないでください。--incompatible_java_common_parameters では無効になっています。このフラグを使用すると、コードがまもなく削除される機能と互換性があることを確認できます。
非推奨: このパラメータを削除できます(host_javabase は java_toolchain で提供されます)。
sourcepath Fileシーケンス。デフォルトは []
です。
resources ファイルシーケンス。デフォルトは []
です。
resource_jars ファイルシーケンス。デフォルトは []
です。
classpath_resources ファイルシーケンス。デフォルトは []
です。
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

使用されている Java ランタイムに関する情報を含むプロバイダを取得するために使用されるキー。

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

使用されている Java ツールチェーンに関する情報を含むプロバイダの取得に使用されるキー。

merge

struct java_common.merge(providers)

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

パラメータ

パラメータ 説明
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)

ソースとソース JAR を単一のソース JAR ファイルにパッケージ化します。通常、戻り値は

JavaInfo#source_jar

パラメータ output_jar または output_source_jar の少なくとも 1 つは必須です。

パラメータ

パラメータ 説明
actions actions: 必須
gsuite.actions
output_jar ファイル、または 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 ファイルシーケンス。デフォルトは []
。ソース JAR にパッケージ化される Java ソースファイルのリスト。
source_jars ファイルシーケンス。デフォルトは []
。ソース JAR にパッケージ化されるソース JAR のリスト。
java_toolchain Info、必須
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)

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

パラメータ

パラメータ 説明
actions actions: 必須
gsuite.actions
jar ファイル。必須
jar を実行する jar。
target_label ラベル、または None。デフォルトは None
jar にスタンプを押すターゲット ラベル。add_dep のサポートに使用されます。通常は、ctx.label を渡して、現在のルールのラベルで jar にスタンプを押します。
java_toolchain Info、必須
ijar ツールを見つけるために使用する JavaToolchainInfo。

stamp_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

add_dep サポート用のターゲット ラベルで jar にスタンプを押します。通常、戻り値は JavaInfo#compile_jar に渡されます。可能であれば run_ijar を使用することをおすすめします。

パラメータ

パラメータ 説明
actions actions; 必須
ctx.actions
jar ファイル。必須
stamp_jar を実行する jar。
target_label ラベル。必須
JAR にスタンプを押すターゲット ラベル。add_dep のサポートに使用されます。通常は、ctx.label を渡して、現在のルールのラベルで jar にスタンプを押します。
java_toolchain Info、必須
stamp_jar ツールを見つけるために使用する JavaToolchainInfo。