Aturan
py_proto_library
Melihat sumber aturanpy_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
deps
|
Daftar label; default-nya adalah |
proto_lang_toolchain
Melihat sumber aturanproto_lang_toolchain(name, allowlist_different_package, blacklisted_protos, command_line, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, mnemonic, output_files, plugin, plugin_format_flag, progress_message, protoc_minimal_do_not_use, restricted_to, runtime, tags, target_compatible_with, testonly, toolchain_type, toolchains, visibility)
Jika menggunakan Bazel, muat aturan dari https://github.com/bazelbuild/rules_proto.
Menentukan cara aturan LANG_proto_library (misalnya, java_proto_library
) harus memanggil
proto-compiler.
Beberapa aturan LANG_proto_library memungkinkan Anda menentukan toolchain yang akan digunakan menggunakan flag command line; baca dokumentasinya.
Biasanya, Anda tidak boleh menulis aturan semacam itu kecuali jika ingin menyesuaikan compiler Java.
Tidak ada compiler. Compiler proto diambil dari aturan proto_library yang kita lampirkan. Flag ini
diteruskan sebagai flag command line ke Blaze.
Beberapa fitur mengharuskan proto-compiler dipanggil pada aturan proto_library itu sendiri.
Sebaiknya terapkan compiler yang digunakan LANG_proto_library sama dengan yang digunakan
proto_library
.
Contoh
Contoh sederhananya adalah:
proto_lang_toolchain(
name = "javalite_toolchain",
command_line = "--javalite_out=shared,immutable:$(OUT)",
plugin = ":javalite_plugin",
runtime = ":protobuf_lite",
)
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
allowlist_different_package
|
Label; default-nya adalah |
blacklisted_protos
|
Daftar label; default-nya adalah srcs dari
blacklisted_protos .
Ini digunakan untuk file .proto yang sudah ditautkan ke runtime proto, seperti
any.proto .
|
command_line
|
String; wajib Nilai ini akan diteruskan ke proto-compiler untuk membuat kode. Hanya sertakan bagian yang khusus untuk generator kode/plugin ini (mis., jangan sertakan parameter -I)
|
mnemonic
|
String; default-nya adalah |
output_files
|
String; default-nya adalah $(OUT) di command_line , baik dengan
jalur ke satu file atau direktori output jika ada beberapa file.
Nilai yang mungkin adalah: "single", "multiple".
|
plugin
|
Label; default-nya adalah --plugin=protoc-gen-PLUGIN=<executable>.
|
plugin_format_flag
|
String; default-nya adalah --plugin=protoc-gen-PLUGIN=<executable>.
|
progress_message
|
String; default-nya adalah |
protoc_minimal_do_not_use
|
Label; default-nya adalah |
runtime
|
Label; default-nya adalah |
toolchain_type
|
Label; default-nya adalah |
proto_toolchain
Melihat sumber aturanproto_toolchain(name, command_line, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, mnemonic, output_files, progress_message, proto_compiler, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
command_line
|
String; default-nya adalah |
mnemonic
|
String; defaultnya adalah |
output_files
|
String; default-nya adalah |
progress_message
|
String; default-nya adalah |
proto_compiler
|
Label; default-nya adalah |