java_common

問題を報告 ソースを表示 ナイトリー · 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 必須
ルールのコンテキスト。
source_jars ファイルシーケンス デフォルトは []
コンパイルする 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 構造体シーケンス。 デフォルトは []
依存関係のリスト。省略可。
runtime_deps 構造体シーケンス。 デフォルトは []
ランタイム依存関係のリスト。省略可。
exports 構造体シーケンス。 デフォルトは []
エクスポートのリスト。省略可。
plugins 構造体シーケンス。または構造体シーケンス デフォルトは [] です
プラグインのリスト。省略可。
exported_plugins 構造体シーケンス。または構造体シーケンス デフォルトは [] です
エクスポートされたプラグインのリスト。省略可。
native_libraries CcInfoシーケンス。 デフォルトは []
このライブラリに必要なネイティブ ライブラリ依存関係を CC に含めます。
annotation_processor_additional_inputs ファイルシーケンス デフォルトは []
Java コンパイル アクションがアノテーション処理のために Java ソースに加えて行う入力のリスト。
annotation_processor_additional_outputs ファイルシーケンス デフォルトは []
Java コンパイル アクションが、アノテーション処理のクラス jar に加えて出力する出力のリスト。
strict_deps デフォルトは 'ERROR'
厳格な依存関係の処理方法を指定する文字列。有効な値: 'OFF'、'ERROR'、'WARN'「DEFAULT」を指定します。詳細については、/docs/user-manual#flag--strict_java_deps をご覧ください。デフォルトは「ERROR」です。
java_toolchain 必須
このコンパイルに使用される JavaToolchainInfo。必須。
bootclasspath デフォルトは None
このコンパイルに使用される BootClassPathInfo。この要素が存在する場合は、提供された java_ツールチェーン に関連付けられている bootclasspath がオーバーライドされます。省略可。
host_javabase デフォルトは None
非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。--+incompatible_java_common_parameters により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
非推奨: このパラメータは削除できます(host_javabase は java_ツールチェーンで提供されます)。
sourcepath ファイルシーケンス デフォルトは []
resources ファイルシーケンス デフォルトは []
resource_jars ファイルシーケンス デフォルトは []
classpath_resources ファイルシーケンス デフォルトは []
デフォルトは False
enable_annotation_processing デフォルトは True
このコンパイルのアノテーション処理を無効にします。これにより、プラグインまたは依存関係の export_plugins で提供されるアノテーション プロセッサが無視されます。
enable_compile_jar_action デフォルトは 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 構造体シーケンス。 必須
統合するプロバイダのリスト。

pack_sources

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

ソースとソース JAR を 1 つのソース jar ファイルにまとめます。通常、戻り値は

JavaInfo#source_jar

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

パラメータ

パラメータ 説明
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 ファイルシーケンス デフォルトは []
ソース JAR にパッキングされる Java ソースファイルのリスト。
source_jars ファイルシーケンス デフォルトは []
ソース JAR にパッキングされるソース JAR のリスト。
java_toolchain 必須
ijar ツールを見つけるために使用する JavaToolchainInfo。
host_javabase デフォルトは None
非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。--+incompatible_java_common_parameters により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
非推奨: このパラメータは削除できます(host_javabase は java_ツールチェーンで提供されます)。

run_ijar

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

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

パラメータ

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