ルール
- java_binary
- java_import
- java_library
- java_lite_proto_library
- java_proto_library
- java_test
- java_package_configuration
- java_plugin
- java_runtime
- java_toolchain
java_binary
ルールのソースを表示java_binary(name, deps, srcs, data, resources, args, classpath_resources, compatible_with, create_executable, deploy_env, deploy_manifest_lines, deprecation, distribs, env, exec_compatible_with, exec_properties, features, javacopts, jvm_flags, launcher, licenses, main_class, output_licenses, plugins, resource_jars, resource_strip_prefix, restricted_to, runtime_deps, stamp, tags, target_compatible_with, testonly, toolchains, use_launcher, use_testrunner, visibility)
Java アーカイブ(「jar ファイル」)と、ルールと同じ名前のラッパー シェル スクリプトをビルドします。
ラッパー シェル スクリプトはクラスパスを使用します。これには、特に、各変数の jar ファイルが含まれます。
ライブラリを指定します。ラッパー シェル スクリプトの実行時に、空でない
JAVABIN
環境変数は、
Bazel の --java_runtime_version
フラグ。
ラッパー スクリプトには、いくつかの一意のフラグを指定できます。詳しくは、
//src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
を参照してください。
暗黙的な出力ターゲット
name.jar
: クラスファイルなどを含む Java アーカイブ。 バイナリの直接的な依存関係に対応するリソースです。name-src.jar
: ソース("source")を含むアーカイブ jar など)。name_deploy.jar
: デプロイに適した Java アーカイブ(のみ 明示的にリクエストされた場合にビルドされます)。ルールの「
<name>_deploy.jar
」ターゲットを作成しています マニフェスト付きの自己完結型の jar ファイルを作成し、java -jar
コマンド、またはラッパー スクリプトの--singlejar
を使用します。 選択します。java -jar
よりもラッパー スクリプトを使用することをおすすめします。これは、 JVM フラグとオプションも渡します。 ネイティブライブラリを読み込みます。deploy jar には、Terraform で定義したクラスローダーで検出されるすべてのクラスが クラスパスをバイナリのラッパー スクリプトから最初から最後まで検索また、 依存関係に必要なネイティブ ライブラリが格納されています。これらは自動的に読み込まれるので 実行時に JVM に取り込まれます。
ターゲットが launcher を指定している場合 属性を使用すると、_deploy.jar は通常の JAR ファイルではなく、 ネイティブ バイナリ。これには、ランチャーと、以下のネイティブ(C++)依存関係が含まれます。 静的バイナリにリンクされています実際の jar ファイルのバイトは、 追加され、単一のバイナリ blob が作成され、 Java コードが含まれます生成された jar ファイルを直接実行できます ネイティブバイナリを実行するのと同じように使用できます
name_deploy-src.jar
: ソースを含むアーカイブ ターゲットの推移的クロージャから収集された情報です。これらは UDM クラスのクラスとdeploy.jar
(ただし、jar に一致するソース JAR がない場合を除く)。
deps
属性は、指定されていない java_binary
ルールで使用できません。
srcs
、適用するには、
main_class
提供元:
runtime_deps
を選択します。
よくある間違いを次のコード スニペットに示します。
java_binary( name = "DontDoThis", srcs = [ ..., "GeneratedJavaFile.java", # a generated .java file ], deps = [":generating_rule"], # rule that generates that file )
代わりに次のようにします。
java_binary( name = "DoThisInstead", srcs = [ ..., ":generating_rule", ], )
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 アプリケーションのメインのエントリ ポイントとなるソースファイルの名前を使用して、 (拡張子は除く)。たとえば、エントリ ポイントが Main.java の場合、あなたの名前は Main のようになります。
|
deps
|
ラベルのリスト。デフォルトは deps に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
|
srcs
|
ラベルのリスト。デフォルトは
ルール: ルール(通常は
ほとんどの場合、この引数は必須ですが、
|
resources
|
ラベルのリスト。デフォルトは
リソースを指定すると、通常のリソースとともに jar にバンドルされます。
コンパイルによって生成された リソースには、ソースファイルまたは生成されたファイルを指定できます。 |
classpath_resources
|
ラベルのリスト。デフォルトは
Java ツリーのルートに配置する必要があるリソースのリスト。この属性の
必要なサードパーティ ライブラリをサポートすることのみを目的として、
|
create_executable
|
ブール値設定不可デフォルトは java_single_jar を使用してください。
|
deploy_env
|
ラベルのリスト。デフォルトは java_binary ターゲットのリスト
作成します。
別のファイルによって読み込まれるプラグインをビルドするときに、この属性を設定します
java_binary 。この属性を設定すると、すべての依存関係が除外されます このバイナリのランタイム クラスパス(とデプロイ jar)が、この バイナリと deploy_env で指定されたターゲット。
|
deploy_manifest_lines
|
文字列のリスト。デフォルトは META-INF/manifest.mf ファイルに追加する行のリスト。
目標は *_deploy.jar です。この属性の内容は件名ではありません
「Make variable」置換に変更します。
|
javacopts
|
文字列のリスト。デフォルトは これらのコンパイラ オプションは、グローバル コンパイラ オプションの後に javac に渡されます。 |
jvm_flags
|
文字列のリスト。デフォルトは Java バイナリのラッパー スクリプトに CLASSPATH 定義が含まれている
(依存する jar をすべて見つけるため)、適切な Java インタープリタを呼び出します。
ラッパー スクリプトによって生成されたコマンドラインには、
メインクラスの後に この属性は |
launcher
|
ラベル:デフォルトは bin/java プログラム。
ターゲットは cc_binary にする必要があります。次を含む cc_binary :
実装する
この属性の値として Java Invocation API を指定できます。
デフォルトでは、Bazel は通常の JDK ランチャー(bin/java または java.exe)を使用します。 関連する ネイティブ(C++、SWIG、JNI)依存関係のビルドは異なることに注意してください。 JDK ランチャーを使用しているか、別のランチャーを使用しているかに応じて、次の操作を行います。
デフォルトの JDK ランチャー以外のランチャーを使用する場合、
|
main_class
|
String;デフォルトは main() メソッドを含むクラスの名前。
ルールでこのオプションを使用する場合、srcs=[...] リストは必要ありません。
したがって、この属性を使用すると、すでに作成済みの Java ライブラリから実行可能ファイルを作成できます。
1 つ以上の main() メソッドが含まれます。
この属性の値は、ソースファイルではなくクラス名です。クラスは
実行時に利用可能: このルールによって( |
plugins
|
ラベルのリスト。デフォルトは java_plugin が実行されます。
構築します。ライブラリは、使用する依存関係からプラグインを継承し、
exported_plugins 。リソース
生成 AI は、このルールの生成される jar に含められます。
|
resource_jars
|
ラベルのリスト。デフォルトは |
resource_strip_prefix
|
String;デフォルトは
指定すると、このパス接頭辞が |
runtime_deps
|
ラベルのリスト。デフォルトは deps と同様に、これらはランタイム クラスパスに表示されますが、
コンパイル時のクラスパスではなく、実行時にのみ必要な依存関係は、
表示されます。依存関係分析ツールは、両方に出現するターゲットを無視する
runtime_deps と deps 。
|
stamp
|
整数デフォルトは
スタンプされたバイナリは、依存関係が変更されない限り再ビルドされません。 |
use_launcher
|
ブール値デフォルトは この属性を false に設定すると、
launcher 属性と関連
|
use_testrunner
|
ブール値デフォルトは com.google.testing.junit.runner.BazelTestRunner など)クラスを
Java プログラム用のメイン エントリ ポイントを作成し、テストクラスを提供します。
bazel.test_suite の値としてテストランナーに送信
システム プロパティ。
これを使用して、デフォルトの
テストランナーを使用して
java_test 個のルール、
java_binary ルールには使用しないでください。可能性は低い
これを行うことをおすすめします1 回の使用: AllTest
(データベースを設定するために)別のルールによって呼び出される
できます)。AllTest
ルールは java_binary として宣言する必要がありますが、
テストランナーをメインのエントリ ポイントとして使用します。
テストランナー クラスの名前は、main_class 属性でオーバーライドできます。
|
java_import
ルールのソースを表示java_import(name, deps, data, add_exports, add_opens, compatible_with, constraints, deprecation, distribs, exec_compatible_with, exec_properties, exports, features, jars, licenses, neverlink, proguard_specs, restricted_to, runtime_deps, srcjar, tags, target_compatible_with, testonly, toolchains, visibility)
このルールでは、プリコンパイルされた .jar
ファイルを次のように使用できます。
java_library
と
java_binary
個のルール。
例
java_import(
name = "maven_model",
jars = [
"maven_model/maven-aether-provider-3.2.3.jar",
"maven_model/maven-model-3.2.3.jar",
"maven_model/maven-model-builder-3.2.3.jar",
],
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは |
data
|
ラベルのリスト。デフォルトは |
add_exports
|
文字列のリスト。デフォルトは module または package へのアクセスを許可します。
javac フラグと JVM の --add-exports= フラグに対応します。 |
add_opens
|
文字列のリスト。デフォルトは module またはリフレクティブ アクセスを許可する
package 。
javac フラグと JVM の --add-opens= フラグに対応します。 |
constraints
|
文字列のリスト。デフォルトは |
exports
|
ラベルのリスト。デフォルトは |
jars
|
ラベルのリスト。必須 このターゲットに依存する Java ターゲットに提供される JAR ファイルのリスト。 |
neverlink
|
ブール値デフォルトは tools.jar 、
使用できます。
|
proguard_specs
|
ラベルのリスト。デフォルトは android_binary ターゲットに追加されます。
ここに含めるファイルには、べき等ルール(-dontnote、-dontwarn、
-keep で始まるルールを定義します。その他のオプションは
android_binary の proguard_specs: tautological 以外のマージを保証します。
|
runtime_deps
|
ラベルのリスト。デフォルトは |
srcjar
|
ラベル:デフォルトは |
java_library
ルールのソースを表示java_library(name, deps, srcs, data, resources, add_exports, add_opens, bootclasspath, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, exported_plugins, exports, features, javabuilder_jvm_flags, javacopts, licenses, neverlink, plugins, proguard_specs, resource_strip_prefix, restricted_to, runtime_deps, tags, target_compatible_with, testonly, toolchains, visibility)
このルールは、ソースを .jar
ファイルにコンパイルしてリンクします。
暗黙的な出力
libname.jar
: クラスファイルを含む Java アーカイブ。libname-src.jar
: ソース("source")を含むアーカイブ jar など)。
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは deps に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
一方、 |
srcs
|
ラベルのリスト。デフォルトは
ルール: ルール(通常は
少なくとも 1 つのファイルがある限り、他のすべてのファイルは無視されます。 ファイル形式を指定します。それ以外の場合は、エラーが発生します。
|
data
|
ラベルのリスト。デフォルトは data に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
|
resources
|
ラベルのリスト。デフォルトは リソースには、ソースファイルまたは生成されたファイルを指定できます。
リソースを指定すると、通常のリソースとともに jar にバンドルされます。
コンパイルによって生成された |
add_exports
|
文字列のリスト。デフォルトは module または package へのアクセスを許可します。
javac フラグと JVM の --add-exports= フラグに対応します。 |
add_opens
|
文字列のリスト。デフォルトは module またはリフレクティブ アクセスを許可する
package 。
javac フラグと JVM の --add-opens= フラグに対応します。 |
bootclasspath
|
ラベル:デフォルトは |
exported_plugins
|
ラベルのリスト。デフォルトは java_plugin のリスト(アノテーション
このライブラリに直接依存するライブラリにエクスポートできます。
指定した |
exports
|
ラベルのリスト。デフォルトは
ここにルールをリストすると、あたかも親が明示的に親ルールを操作しているかのように、親ルールで
必要があります。これは、通常の(エクスポートされていない)
概要: 依存関係がある場合にルール XX は YX のコードにアクセスできます
A は B に依存し、B は C に依存しているとします。今回の場合
C は A の推移的依存関係であるため、C のソースを変更して A を再構築すると、
すべてを正しくビルドし直せます。ただし、A は C のクラスを使用できません。許可する
A が エクスポートされたライブラリのクローズは、すべての直接の親ルールで使用できます。少し A は B に依存し、B は C と D に依存し、さらに C はエクスポートしますが D はエクスポートしません。 これで、A は C にはアクセスできますが、D にはアクセスできません。ここで、C と D が一部のライブラリをエクスポートした場合、および D' A は C' にのみアクセスすることができました。あります。
重要: エクスポートされたルールは、通常の依存関係ではありません。前の例で言うと、
B が C をエクスポートし、C も使用する場合は、その B も C をリストする必要があります。
|
javabuilder_jvm_flags
|
文字列のリスト。デフォルトは |
javacopts
|
文字列のリスト。デフォルトは これらのコンパイラ オプションは、グローバル コンパイラ オプションの後に javac に渡されます。 |
neverlink
|
ブール値デフォルトは tools.jar があります。
パフォーマンスです
なお、 ランタイム ライブラリがコンパイル ライブラリと異なる場合は、それが 違いは、JLS でコンパイラのインライン実行が禁止されている場所(およびインラインで宣言され、 リリースされます。 |
plugins
|
ラベルのリスト。デフォルトは java_plugin が実行されます。
構築します。ライブラリは、使用する依存関係からプラグインを継承し、
exported_plugins 。リソース
生成 AI は、このルールの生成される jar に含められます。
|
proguard_specs
|
ラベルのリスト。デフォルトは android_binary ターゲットに追加されます。
ここに含めるファイルには、べき等ルール(-dontnote、-dontwarn、
-keep で始まるルールを定義します。その他のオプションは
android_binary の proguard_specs: tautological 以外のマージを保証します。
|
resource_strip_prefix
|
String;デフォルトは
指定すると、このパス接頭辞が |
runtime_deps
|
ラベルのリスト。デフォルトは deps と同様に、これらはランタイム クラスパスに表示されますが、
コンパイル時のクラスパスではなく、実行時にのみ必要な依存関係は、
表示されます。依存関係分析ツールは、両方に出現するターゲットを無視する
runtime_deps と deps 。
|
java_lite_proto_library
ルールのソースを表示java_lite_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_lite_proto_library
は、.proto
ファイルから Java コードを生成します。
deps
は proto_library
ルールを指す必要があります。
例:
java_library(
name = "lib",
runtime_deps = [":foo"],
)
java_lite_proto_library(
name = "foo",
deps = [":bar"],
)
proto_library(
name = "bar",
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは proto_library のリスト
Java コードの生成ルールを定義します。
|
java_proto_library
ルールのソースを表示java_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_proto_library
は、.proto
ファイルから Java コードを生成します。
deps
は proto_library
ルールを指す必要があります。
例:
java_library(
name = "lib",
runtime_deps = [":foo_java_proto"],
)
java_proto_library(
name = "foo_java_proto",
deps = [":foo_proto"],
)
proto_library(
name = "foo_proto",
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは proto_library のリスト
Java コードの生成ルールを定義します。
|
java_test
ルールのソースを表示java_test(name, deps, srcs, data, resources, add_exports, add_opens, args, bootclasspath, classpath_resources, compatible_with, create_executable, deploy_manifest_lines, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, javacopts, jvm_flags, launcher, licenses, local, main_class, neverlink, plugins, resource_strip_prefix, restricted_to, runtime_deps, shard_count, size, stamp, tags, target_compatible_with, test_class, testonly, timeout, toolchains, use_launcher, use_testrunner, visibility)
java_test()
ルールは Java テストをコンパイルします。テストは、Python や Node.js などの
テストコードです。テストランナーのメインメソッドが、コンパイルされるメインクラスの代わりに呼び出されます。
暗黙的な出力ターゲット
name.jar
: Java アーカイブ。name_deploy.jar
: 適切な Java アーカイブ 必要があります。(明示的にリクエストされた場合にのみビルドされます)。詳しくは、name_deploy.jar
の出力: java_binary をご覧ください。
java_binary()
引数のセクションをご覧ください。このルールはまた、
サポートするすべての属性の一般的な
すべてのテストルール(*_test)に適用されます。
例
java_library(
name = "tests",
srcs = glob(["*.java"]),
deps = [
"//java/com/foo/base:testResources",
"//java/com/foo/testing/util",
],
)
java_test(
name = "AllTests",
size = "small",
runtime_deps = [
":tests",
"//util/mysql",
],
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは deps に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
|
srcs
|
ラベルのリスト。デフォルトは
ルール: ルール(通常は
ほとんどの場合、この引数は必須ですが、
|
data
|
ラベルのリスト。デフォルトは data に関する一般的なコメントを見る
で定義される一般的な属性は
ほとんどのビルドルールに適用されます。
|
resources
|
ラベルのリスト。デフォルトは リソースには、ソースファイルまたは生成されたファイルを指定できます。
リソースを指定すると、通常のリソースとともに jar にバンドルされます。
コンパイルによって生成された |
add_exports
|
文字列のリスト。デフォルトは module または package へのアクセスを許可します。
javac フラグと JVM の --add-exports= フラグに対応します。 |
add_opens
|
文字列のリスト。デフォルトは module またはリフレクティブ アクセスを許可する
package 。
javac フラグと JVM の --add-opens= フラグに対応します。 |
bootclasspath
|
ラベル:デフォルトは |
classpath_resources
|
ラベルのリスト。デフォルトは
Java ツリーのルートに配置する必要があるリソースのリスト。この属性の
必要なサードパーティ ライブラリをサポートすることのみを目的として、
|
create_executable
|
ブール値デフォルトは java_single_jar を使用してください。
|
deploy_manifest_lines
|
文字列のリスト。デフォルトは META-INF/manifest.mf ファイルに追加する行のリスト。
目標は *_deploy.jar です。この属性の内容は件名ではありません
「Make variable」置換に変更します。
|
javacopts
|
文字列のリスト。デフォルトは これらのコンパイラ オプションは、グローバル コンパイラ オプションの後に javac に渡されます。 |
jvm_flags
|
文字列のリスト。デフォルトは Java バイナリのラッパー スクリプトに CLASSPATH 定義が含まれている
(依存する jar をすべて見つけるため)、適切な Java インタープリタを呼び出します。
ラッパー スクリプトによって生成されたコマンドラインには、
メインクラスの後に この属性は |
launcher
|
ラベル:デフォルトは bin/java プログラム。
ターゲットは cc_binary にする必要があります。次を含む cc_binary :
実装する
この属性の値として Java Invocation API を指定できます。
デフォルトでは、Bazel は通常の JDK ランチャー(bin/java または java.exe)を使用します。 関連する ネイティブ(C++、SWIG、JNI)依存関係のビルドは異なることに注意してください。 JDK ランチャーを使用しているか、別のランチャーを使用しているかに応じて、次の操作を行います。
デフォルトの JDK ランチャー以外のランチャーを使用する場合、
|
main_class
|
String;デフォルトは main() メソッドを含むクラスの名前。
ルールでこのオプションを使用する場合、srcs=[...] リストは必要ありません。
したがって、この属性を使用すると、すでに作成済みの Java ライブラリから実行可能ファイルを作成できます。
1 つ以上の main() メソッドが含まれます。
この属性の値は、ソースファイルではなくクラス名です。クラスは
実行時に利用可能: このルールによって( |
neverlink
|
ブール値デフォルトは |
plugins
|
ラベルのリスト。デフォルトは java_plugin が実行されます。
構築します。ライブラリは、使用する依存関係からプラグインを継承し、
exported_plugins 。リソース
生成 AI は、このルールの生成される jar に含められます。
|
resource_strip_prefix
|
String;デフォルトは
指定すると、このパス接頭辞が |
runtime_deps
|
ラベルのリスト。デフォルトは deps と同様に、これらはランタイム クラスパスに表示されますが、
コンパイル時のクラスパスではなく、実行時にのみ必要な依存関係は、
表示されます。依存関係分析ツールは、両方に出現するターゲットを無視する
runtime_deps と deps 。
|
stamp
|
整数デフォルトは
スタンプされたバイナリは、依存関係が変更されない限り再ビルドされません。 |
test_class
|
String;デフォルトは
この引数が定義されていない場合は、デフォルトで以前のモードが使用され、
代わりにテスト引数が使用されます。
この属性は、実行する Java クラスの名前を指定します。
このテストを実行します。この設定が必要になることはほとんどありません。この引数を省略すると、
ターゲットの
JUnit3 の場合、テストクラスは
この属性を使用すると、複数の |
use_launcher
|
ブール値デフォルトは この属性を false に設定すると、
launcher 属性と関連
|
use_testrunner
|
ブール値デフォルトは com.google.testing.junit.runner.BazelTestRunner など)クラスを
Java プログラム用のメイン エントリ ポイントを作成し、テストクラスを提供します。
bazel.test_suite の値としてテストランナーに送信
システム プロパティ。
これを使用して、デフォルトの テストランナーを使用して java_test 個のルール、
java_binary ルールには使用しないでください。可能性は低い
これを行うことをおすすめします1 回の使用: AllTest
(データベースを設定するために)別のルールによって呼び出される
できます)。AllTest
ルールは java_binary として宣言する必要がありますが、
テストランナーをメインのエントリ ポイントとして使用します。
テストランナー クラスの名前は、main_class 属性でオーバーライドできます。
|
java_package_configuration
ルールのソースを表示java_package_configuration(name, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, javacopts, output_licenses, packages, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
一連のパッケージに適用する構成。
構成は
java_toolchain.javacopts
秒。
例:
java_package_configuration(
name = "my_configuration",
packages = [":my_packages"],
javacopts = ["-Werror"],
)
package_group(
name = "my_packages",
packages = [
"//com/my/project/...",
"-//com/my/project/testing/...",
],
)
java_toolchain(
...,
package_configuration = [
":my_configuration",
]
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
data
|
ラベルのリスト。デフォルトは |
javacopts
|
文字列のリスト。デフォルトは |
output_licenses
|
文字列のリスト。デフォルトは |
packages
|
ラベルのリスト。デフォルトは package_group のセット
指定する必要があります。
|
java_plugin
ルールのソースを表示java_plugin(name, deps, srcs, data, resources, add_exports, add_opens, bootclasspath, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, generates_api, javabuilder_jvm_flags, javacopts, licenses, neverlink, output_licenses, plugins, processor_class, proguard_specs, resource_strip_prefix, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_plugin
は、Bazel で実行される Java コンパイラのプラグインを定義します。「
アノテーション プロセッサのみがサポートされています。java_library
または
java_binary
ルールは、plugins
を介してプラグインに依存することで、プラグインを実行できます。
属性です。java_library
では、プラグインを自動的にエクスポートすることもできます。
使用することで、このコンテナが
exported_plugins
。
暗黙的な出力ターゲット
libname.jar
: Java アーカイブ。
引数は java_library
と同じですが、
processor_class
引数を追加します。
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
deps
|
ラベルのリスト。デフォルトは deps に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
一方、 |
srcs
|
ラベルのリスト。デフォルトは
ルール: ルール(通常は
少なくとも 1 つのファイルがある限り、他のすべてのファイルは無視されます。 ファイル形式を指定します。それ以外の場合は、エラーが発生します。
|
data
|
ラベルのリスト。デフォルトは data に関する一般的なコメントを見る:
一般的な属性は
ほとんどのビルドルールに適用されます。
|
resources
|
ラベルのリスト。デフォルトは リソースには、ソースファイルまたは生成されたファイルを指定できます。
リソースを指定すると、通常のリソースとともに jar にバンドルされます。
コンパイルによって生成された |
add_exports
|
文字列のリスト。デフォルトは module または package へのアクセスを許可します。
javac フラグと JVM の --add-exports= フラグに対応します。 |
add_opens
|
文字列のリスト。デフォルトは module またはリフレクティブ アクセスを許可する
package 。
javac フラグと JVM の --add-opens= フラグに対応します。 |
bootclasspath
|
ラベル:デフォルトは |
generates_api
|
ブール値デフォルトは API 生成のアノテーション プロセッサを使用するルールの場合、 生成されたコードを参照できるのは、その依存関係が コンパイル アクションは、生成ルールの後にスケジュールされます。この 属性で Bazel に指示を与えて、 --java_header_compile が有効である。 警告: この属性はビルドに影響します 必要な場合にのみ使用してください。 |
javabuilder_jvm_flags
|
文字列のリスト。デフォルトは |
javacopts
|
文字列のリスト。デフォルトは これらのコンパイラ オプションは、グローバル コンパイラ オプションの後に javac に渡されます。 |
neverlink
|
ブール値デフォルトは tools.jar があります。
パフォーマンスです
なお、 ランタイム ライブラリがコンパイル ライブラリと異なる場合は、それが 違いは、JLS でコンパイラのインライン実行が禁止されている場所(およびインラインで宣言され、 リリースされます。 |
output_licenses
|
文字列のリスト。デフォルトは |
plugins
|
ラベルのリスト。デフォルトは java_plugin が実行されます。
構築します。ライブラリは、使用する依存関係からプラグインを継承し、
exported_plugins 。リソース
生成 AI は、このルールの生成される jar に含められます。
|
processor_class
|
String;デフォルトは |
proguard_specs
|
ラベルのリスト。デフォルトは android_binary ターゲットに追加されます。
ここに含めるファイルには、べき等ルール(-dontnote、-dontwarn、
-keep で始まるルールを定義します。その他のオプションは
android_binary の proguard_specs: tautological 以外のマージを保証します。
|
resource_strip_prefix
|
String;デフォルトは
指定すると、このパス接頭辞が |
java_runtime
ルールのソースを表示java_runtime(name, srcs, compatible_with, default_cds, deprecation, distribs, exec_compatible_with, exec_properties, features, hermetic_srcs, hermetic_static_libs, java, java_home, lib_ct_sym, lib_modules, output_licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, version, visibility)
Java ランタイムの構成を指定します。
例:
java_runtime(
name = "jdk-9-ea+153",
srcs = glob(["jdk9-ea+153/**"]),
java_home = "jdk9-ea+153",
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
srcs
|
ラベルのリスト。デフォルトは |
default_cds
|
ラベル:デフォルトは java_runtime のデフォルトの CDS アーカイブ。密閉型
java_binary ターゲットで有効化され、有効化されていない場合
独自の CDS アーカイブを提供します。
classlist 属性、
java_runtime のデフォルト CDS は、密閉型のデプロイ JAR にパッケージ化されています。
|
hermetic_srcs
|
ラベルのリスト。デフォルトは |
hermetic_static_libs
|
ラベルのリスト。デフォルトは |
java
|
ラベル:デフォルトは |
java_home
|
String;デフォルトは srcs 属性と java 属性を空にする必要があります。
|
lib_ct_sym
|
ラベル:デフォルトは --release でのコンパイルに必要な lib/ct.sym ファイル。この値を指定しない場合、
srcs 内に、パスが次で終わるファイルが 1 つだけある
/lib/ct.sym の場合、このファイルが使用されます。
|
lib_modules
|
ラベル:デフォルトは |
output_licenses
|
文字列のリスト。デフォルトは |
version
|
整数デフォルトは Runtime.version().feature() 。
|
java_toolchain
ルールのソースを表示java_toolchain(name, android_lint_data, android_lint_jvm_opts, android_lint_opts, android_lint_package_configuration, android_lint_runner, bootclasspath, compatible_javacopts, compatible_with, deprecation, deps_checker, distribs, exec_compatible_with, exec_properties, features, forcibly_disable_header_compilation, genclass, header_compiler, header_compiler_builtin_processors, header_compiler_direct, ijar, jacocorunner, java_runtime, javabuilder, javabuilder_data, javabuilder_jvm_opts, javac_supports_multiplex_workers, javac_supports_worker_cancellation, javac_supports_worker_multiplex_sandboxing, javac_supports_workers, javacopts, jspecify_implicit_deps, jspecify_javacopts, jspecify_packages, jspecify_processor, jspecify_processor_class, jspecify_stubs, jvm_opts, licenses, misc, oneversion, oneversion_allowlist_for_tests, oneversion_whitelist, package_configuration, proguard_allowlister, reduced_classpath_incompatible_processors, restricted_to, singlejar, source_version, tags, target_compatible_with, target_version, testonly, timezone_data, toolchains, tools, turbine_data, turbine_jvm_opts, visibility, xlint)
Java コンパイラの設定を指定します。使用するツールチェーンは、 引数 --java_ツールチェーン を指定します。通常、このようなルールを作成すべきでないのは、 Java コンパイラを調整できます
例
簡単な例を次に示します。
java_toolchain(
name = "toolchain",
source_version = "7",
target_version = "7",
bootclasspath = ["//tools/jdk:bootclasspath"],
xlint = [ "classfile", "divzero", "empty", "options", "path" ],
javacopts = [ "-g" ],
javabuilder = ":JavaBuilder_deploy.jar",
)
引数
属性 | |
---|---|
name |
名前:必須 このターゲットの一意の名前。 |
android_lint_data
|
ラベルのリスト。デフォルトは |
android_lint_jvm_opts
|
文字列のリスト。デフォルトは |
android_lint_opts
|
文字列のリスト。デフォルトは |
android_lint_package_configuration
|
ラベルのリスト。デフォルトは |
android_lint_runner
|
ラベル:デフォルトは |
bootclasspath
|
ラベルのリスト。デフォルトは |
compatible_javacopts
|
null;デフォルトは |
deps_checker
|
ラベル:デフォルトは |
forcibly_disable_header_compilation
|
ブール値デフォルトは |
genclass
|
ラベル:デフォルトは |
header_compiler
|
ラベル:デフォルトは |
header_compiler_builtin_processors
|
文字列のリスト。デフォルトは |
header_compiler_direct
|
ラベル:デフォルトは このツールはアノテーション処理をサポートしていません。 |
ijar
|
ラベル:デフォルトは |
jacocorunner
|
ラベル:デフォルトは |
java_runtime
|
ラベル:デフォルトは |
javabuilder
|
ラベル:デフォルトは |
javabuilder_data
|
ラベルのリスト。デフォルトは |
javabuilder_jvm_opts
|
文字列のリスト。デフォルトは |
javac_supports_multiplex_workers
|
ブール値デフォルトは |
javac_supports_worker_cancellation
|
ブール値デフォルトは |
javac_supports_worker_multiplex_sandboxing
|
ブール値デフォルトは |
javac_supports_workers
|
ブール値デフォルトは |
javacopts
|
文字列のリスト。デフォルトは |
jspecify_implicit_deps
|
ラベル:デフォルトは |
jspecify_javacopts
|
文字列のリスト。デフォルトは |
jspecify_packages
|
ラベルのリスト。デフォルトは |
jspecify_processor
|
ラベル:デフォルトは |
jspecify_processor_class
|
String;デフォルトは |
jspecify_stubs
|
ラベルのリスト。デフォルトは |
jvm_opts
|
文字列のリスト。デフォルトは |
misc
|
文字列のリスト。デフォルトは |
oneversion
|
ラベル:デフォルトは |
oneversion_allowlist_for_tests
|
ラベル:デフォルトは |
oneversion_whitelist
|
ラベル:デフォルトは |
package_configuration
|
ラベルのリスト。デフォルトは |
proguard_allowlister
|
ラベル:デフォルトは |
reduced_classpath_incompatible_processors
|
文字列のリスト。デフォルトは |
singlejar
|
ラベル:デフォルトは |
source_version
|
String;デフォルトは |
target_version
|
String;デフォルトは |
timezone_data
|
ラベル:デフォルトは |
tools
|
ラベルのリスト。デフォルトは |
turbine_data
|
ラベルのリスト。デフォルトは |
turbine_jvm_opts
|
文字列のリスト。デフォルトは |
xlint
|
文字列のリスト。デフォルトは |