java_common

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 sequence of Files; default is []
A list of the jars to be compiled. source_jars または source_files の少なくとも 1 つを指定する必要があります。
source_files sequence of Files; default is []
コンパイルする Java ソースファイルのリスト。source_jars または source_files の少なくとも 1 つを指定する必要があります。
output 必須
output_source_jar ファイル または None。 デフォルトは None
出力ソース JAR。省略可。設定しない場合、デフォルトは `{output_jar}-src.jar` になります。
javac_opts [sequence] of [string]s; default is []
必要な javac オプションのリスト。省略可。
deps 構造体シーケンス。 デフォルトは[]
依存関係のリスト。省略可。
runtime_deps [sequence] of [struct]s; default is []
A list of runtime dependencies. 省略可。
exports [sequence] of [struct]s; default is []
A list of exports. 省略可。
plugins 構造体シーケンス、または構造体シーケンス。デフォルトは[]
プラグインのリスト。省略可。
exported_plugins 構造体シーケンス、または構造体シーケンス。デフォルトは[]
エクスポートされたプラグインのリスト。省略可。
native_libraries [sequence] of [CcInfo]s; default is []
CC native library dependencies that are needed for this library.
annotation_processor_additional_inputs sequence of Files; default is []
A list of inputs that the Java compilation action will take in addition to the Java sources for annotation processing.
annotation_processor_additional_outputs sequence of Files; default is []
アノテーション処理のクラス JAR に加えて、Java コンパイル アクションが出力する出力のリスト。
strict_deps デフォルトは 'ERROR'
厳密な依存関係の処理方法を指定する文字列。使用できる値: 'OFF'、'ERROR'、'WARN'、'DEFAULT'。詳細については、 /docs/user-manual#flag--strict_java_deps をご覧ください。デフォルトは 'ERROR' です。
java_toolchain 必須
このコンパイルに使用する JavaToolchainInfo。必須。
bootclasspath デフォルトは None
このコンパイルに使用する BootClassPathInfo。指定した場合、提供された java_toolchain に関連付けられた bootclasspath がオーバーライドされます。省略可。
host_javabase デフォルトは None
非推奨。このパラメータは非推奨であり、まもなく削除されます。依存しないでください。--+incompatible_java_common_parameters無効になっています。このフラグを使用して、コードがまもなく削除されることと互換性があることを確認してください。
非推奨: このパラメータは削除できます(host_javabase は java_toolchain で提供されます)
sourcepath ファイルのシーケンス。 デフォルトは []
resources ファイルのシーケンス。 デフォルトは []
resource_jars ファイルのシーケンス。 デフォルトは []
classpath_resources ファイルのシーケンス。 デフォルトは []
デフォルトは False
enable_annotation_processing デフォルトは True
このコンパイルでのアノテーション処理を無効にします。これにより、deps の plugins または exported_plugins で提供されるアノテーション プロセッサは無視されます。
enable_compile_jar_action デフォルトは True
ヘッダー コンパイルまたは ijar の作成を有効にします。False に設定すると、依存関係のコンパイル クラスパスで完全なクラス JAR の使用が強制されます。これは、依存関係のないバイナリなどのライブラリ以外のターゲットで使用することを目的としています。
add_exports [sequence] of [string]s; default is []
Allow this library to access the given /. Optional.
add_opens [sequence] of [string]s; default is []
Allow this library to reflectively access the given /. Optional.

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 ファイル または None。 デフォルトは None
非推奨。このパラメータは非推奨であり、まもなく削除されます。依存しないでください。--+incompatible_java_common_parameters無効になっています。このフラグを使用して、コードがまもなく削除されることと互換性があることを確認してください。
非推奨: ルールの出力 JAR。結果のソース JAR の名前付けに使用されます。パラメータは output_source_jar パラメータを `{output_jar}-src.jar` に設定します。代わりに output_source_jar パラメータを直接使用してください。
output_source_jar ファイルまたは None。 デフォルトは None
出力ソース JAR。
sources sequence of Files; default is []
A list of Java source files to be packed into the source jar.
source_jars sequence of Files; default is []
A list of source jars to be packed into the source jar.
java_toolchain 必須
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 必須
ctx.actions
jar 必須
ijar を実行する JAR。
target_label ラベル または None。デフォルトは 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 必須
ctx.actions
jar 必須
stamp_jar を実行する JAR。
target_label 必須
JAR にスタンプするターゲット ラベル。add_dep のサポートに使用されます。通常は、ctx.label を渡して、現在のルールのラベルで JAR にスタンプします。
java_toolchain 必須
stamp_jar ツールを検索するために使用する JavaToolchainInfo。