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; default = None
出力 jar の作成に使用されたソース JAR。pack_sources を使用して、このソース JAR を生成します。
compile_jdeps File; or None; default = None
JavaCompileAction で使用されるコンパイル時依存関係に関する jdeps 情報。これは、Bazel に含まれる deps.proto protobuf を使用してエンコードされたバイナリ プロトコルである必要があります。利用可能な場合、このファイルは通常、ヘッダー コンパイラによって生成されます。
generated_class_jar File; or None; default = None
アノテーション処理中に生成されたソースからコンパイルされたクラスファイルを含む jar ファイル。
generated_source_jar File; or None; default = None
アノテーション処理の結果として作成されたソース JAR。
native_headers_jar File; or None; default = None
ネイティブ メソッド実装をサポートする CC ヘッダー ファイルを含む JAR(通常は javac -h の出力)。
manifest_proto File; or None; default = なし
ルール出力のマニフェスト情報(利用可能な場合)。これは、Bazel に含まれる manifest.proto protobuf を使用してエンコードされたバイナリ proto である必要があります。IDE などのツールで、この情報を使用して処理を効率化できます。
default = False
true の場合、このライブラリは実行時ではなくコンパイルにのみ使用します。
deps sequence of JavaInfos; default = []
出力 jar の作成に使用されたコンパイル時の依存関係。
runtime_deps sequence of JavaInfos; default = []
このライブラリに必要なランタイム依存関係。
exports sequence of JavaInfos; default = []
このライブラリのユーザーが利用できるようにするライブラリ。java_library.exports もご覧ください。
exported_plugins sequence of JavaPluginInfos; default = []
エクスポートされたプラグインのリスト。省略可。
jdeps File; or None; default = なし
ルール出力の jdeps 情報(利用可能な場合)。これは、Bazel に含まれる deps.proto protobuf を使用してエンコードされたバイナリ プロトコルである必要があります。利用可能な場合、このファイルは通常コンパイラによって生成されます。IDE などのツールで、この情報を使用して処理を効率化できます。
native_libraries sequence of CcInfos; default = []
このライブラリに必要なネイティブ ライブラリ依存関係を 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 に似たターゲットのコンパイル情報を返します。 None を返す場合があります。

compile_jars

depset JavaInfo.compile_jars

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

full_compile_jars

depset JavaInfo.full_compile_jars

このターゲットが必要とする通常の完全なコンパイル時間 JAR を直接返します。これらは<ph type="x-smartling-placeholder">

注: JavaInfo.compile_jars は、インターフェース JAR と通常の JAR を混在させて返すことができます。

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

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 を返す場合があります。

プラグイン

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 を返します。