Starlark での Java コンパイル サポート用のユーティリティ。
メンバー
BootClassPathInfo
Provider java_common.BootClassPathInfoブートクラスパス情報を提供するために使用されるプロバイダ
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
|
ファイル、または 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 のシーケンス。デフォルトは [] 。アノテーション処理のクラス jar に加えて、Java コンパイル アクションが出力する出力のリスト。 |
strict_deps
|
文字列。デフォルトは 'ERROR' です。厳格な依存関係の処理方法を指定する文字列。有効な値は「OFF」、「ERROR」、「WARN」、「DEFAULT」です。詳しくは、 --strict_java_deps をご覧ください。 |
java_toolchain
|
Info;
必須 このコンパイルに使用する JavaToolchainInfo。必須。 |
bootclasspath
|
デフォルトは None です。このコンパイルに使用する BootClassPathInfo。指定されている場合、指定された java_toolchain に関連付けられたブートクラスパスをオーバーライドします。 |
host_javabase
|
デフォルトは None です。非推奨。このパラメータは非推奨となり、まもなく削除されます。これに依存しないでください。 --incompatible_java_common_parameters では無効になっています。このフラグを使用すると、コードがまもなく削除される機能と互換性があることを確認できます。非推奨: このパラメータは削除できます(host_javabase は java_toolchain で提供されます)。 |
sourcepath
|
ファイルのシーケンス。デフォルトは [] です。 |
resources
|
ファイルのシーケンス。デフォルトは [] です。 |
resource_jars
|
ファイルのシーケンス。デフォルトは [] です。 |
classpath_resources
|
ファイルのシーケンス。デフォルトは [] です。 |
neverlink
|
bool。デフォルトは False です。 |
enable_annotation_processing
|
bool;
デフォルトは True このコンパイルでアノテーション処理を無効にします。これにより、plugins または依存関係の exported_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
パラメータ
パラメータ | 説明 |
---|---|
actions
|
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
|
ファイルのシーケンス。デフォルトは [] 。ソース 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;
必須 ctx.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。 |