JavaInfo

Java や Java に似たターゲットに関する情報をカプセル化するプロバイダ。

メンバー

JavaInfo

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

JavaInfo コンストラクタ。

パラメータ

パラメータ 説明
output_jar 必須
コンパイルの結果として作成された jar(javac、scalac など)。
compile_jar File; or None、 必須
output_jar の代わりにコンパイル時の依存関係として追加される jar。通常、これは run_ijar が生成した ijar です。ijar を使用できない場合は、代わりに stamp_ijar の出力を使用することを検討してください。どちらも使用しない場合は、output_jar を渡します。このパラメータが None に設定される特殊なケースはいくつかあります。たとえば、リソースを含む JAR を追加する場合や、java_binary などのターミナル ルールで使用する場合などです。
source_jar File; or None、 デフォルト = None
出力 jar の作成に使用されたソース JAR。pack_sources を使用して、このソース JAR を生成します。
compile_jdeps File; or None、 デフォルト = None
JavaCompileAction によって使用されるコンパイル時依存関係に関する jdeps 情報。これは、Bazel に含まれる deps.proto protobuf を使用してエンコードされたバイナリ proto です。利用可能な場合、このファイルは通常、ヘッダー コンパイラによって生成されます。
generated_class_jar File; or None、 デフォルト = None
アノテーション処理中に生成されたソースからコンパイルされたクラスファイルを含む jar ファイル。
generated_source_jar File; or None、 デフォルト = None
アノテーション処理の結果として作成されたソース JAR。
native_headers_jar File; or None、 デフォルト = None
ネイティブ メソッドの実装をサポートする CC ヘッダー ファイルを含む jar(通常は javac -h の出力)。
manifest_proto File; or None、 デフォルト = None
ルール出力のマニフェスト情報(利用可能な場合)。これは、Bazel に含まれる manifest.proto protobuf を使用してエンコードされたバイナリ proto です。IDE やその他のツールでこの情報を使用して、処理を効率化できます。
デフォルト = False
true の場合、このライブラリは実行時に使用せず、コンパイルにのみ使用します。
deps sequence of JavaInfos、 デフォルト = []
出力 jar の作成に使用されたコンパイル時依存関係。
runtime_deps sequence of JavaInfos、 デフォルト = []
このライブラリに必要なランタイム依存関係。
exports sequence of JavaInfos、 デフォルト = []
このライブラリのユーザーが利用できるようにするライブラリ。java_library.exports もご覧ください。
exported_plugins sequence of JavaPluginInfos、 デフォルト = []
エクスポートされたプラグインのリスト。省略可。
jdeps File; or None、 デフォルト = None
ルール出力の jdeps 情報(利用可能な場合)。これは、Bazel に含まれる deps.proto protobuf を使用してエンコードされたバイナリ proto です。利用可能な場合、このファイルは通常、コンパイラによって生成されます。IDE やその他のツールでこの情報を使用して、処理を効率化できます。
native_libraries sequence of CcInfos、 デフォルト = []
このライブラリに必要なネイティブ ライブラリ依存関係を CC に含めます。

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

この Java や Java に似たターゲットに適用されるアノテーション プロセッサに関する情報を返します。

非推奨: 代わりに plugins を使用してください(ターゲットを使用することで適用されるアノテーション プロセッサに関する情報が返されます)。 None を返すことができます。

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

このターゲットによって定義またはエクスポートされた API 生成プラグインに関するデータを返します。

これらのアノテーション プロセッサは、ヘッダー JAR(メソッド シグネチャを含む)を生成する前に Java ターゲットに適用されます。API プラグインが存在しない場合は、ソースからヘッダー JAR が生成され、クリティカル パスが減少します。

api_generating_pluginsplugins のサブセットです。

compilation_info

java_compilation_info JavaInfo.compilation_info

この Java や Java に似たターゲットのコンパイル情報を返します。 None を返すことができます。

compile_jars

depset JavaInfo.compile_jars

コンパイル時に、このターゲットで直接必要な JAR を返します。ルールの実装でインターフェース JAR を作成するかどうかに応じて、インターフェース JAR(ijar または hjar)、通常の JAR、またはその両方を使用できます。

full_compile_jars

depset JavaInfo.full_compile_jars

このターゲットで直接必要な通常のフルコンパイル時間の JAR を返します。<ph type="x-smartling-placeholder">

注: JavaInfo.compile_jars は、インターフェース Jars と通常の Jars を組み合わせて返すことができます。

インターフェース Jars がルールセット(一部の Scala ターゲットなど)で動作しない場合にのみ、このメソッドを使用してください。Java のみのターゲットを操作する場合は、JavaInfo.compile_jars を介してインターフェース Jars を使用することをおすすめします。

java_outputs

list JavaInfo.java_outputs

この Java や Java に似たターゲットの出力に関する情報を返します。

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

Java モジュール フラグの構成を返します。

結果

java_output_jars JavaInfo.outputs

この Java や Java に似たターゲットの出力に関する情報を返します。非推奨: java_outputs を使用してください。 None を返すことができます。

plugins

JavaPluginData JavaInfo.plugins

使用ターゲットが適用する必要があるすべてのプラグインに関するデータを返します。

これは通常、java_plugin 自体、または 1 つ以上のプラグインをエクスポートする java_library です。

java_library は、このフィールドのすべてのプラグインが deps 属性と plugins 属性に表示される状態でアノテーション処理を実行します。

runtime_output_jars

sequence JavaInfo.runtime_output_jars

この Java や Java に似たターゲットによって作成されたランタイム JAR のリストを返します。

source_jars

sequence JavaInfo.source_jars

ターゲット自体のすべてのソースファイル(アノテーションによって生成されたファイルを含む)を含む JAR のリストを返します(推移的依存関係のソースは含まれません)。

to_json

string JavaInfo.to_json()

非推奨。この API は非推奨となっており、まもなく削除されます。これに依存しないでください。---incompatible_struct_has_no_methods により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
構造体パラメータから JSON 文字列を作成します。このメソッドは、すべての構造体要素が(再帰的に)文字列、整数、ブール値、その他の構造体、これらの型のリスト、または文字列キーとこれらの型の値を持つ辞書である場合にのみ機能します。文字列内の引用符と改行はエスケープされます。例:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}

非推奨: 代わりに json.encode(x) または json.encode_indent(x) を使用してください。これらは構造体以外の値に対して機能し、構造体フィールドの名前空間を汚染しません。

to_proto

string JavaInfo.to_proto()

非推奨。この API は非推奨となっており、まもなく削除されます。これに依存しないでください。---incompatible_struct_has_no_methods により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
構造体パラメータからテキスト メッセージを作成します。このメソッドは、すべての構造体要素が(再帰的に)文字列、整数、ブール値、その他の構造体、辞書、またはリストである場合にのみ機能します。文字列内の引用符と改行はエスケープされます。構造体キーは並べ替えた順序で反復されます。例:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

非推奨: 代わりに proto.encode_text(x) を使用してください。

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

ターゲットのビルドに必要な JAR の推移的セットを返します。

transitive_deps

depset JavaInfo.transitive_deps

非推奨: 代わりに JavaInfo.transitive_compile_time_jars を使用してください。同じ値が返されます。

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

ターゲットに必要な CC ネイティブ ライブラリの推移的セットを返します。

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

非推奨: 代わりに JavaInfo.transitive_runtime_jars を使用してください。同じ値が返されます。

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

ターゲットのランタイム クラスパスで必要な JAR の推移的セットを返します。

transitive_source_jars

depset JavaInfo.transitive_source_jars

現在のターゲットとそのすべての推移的依存関係のソースファイルを含む JAR を返します。