Reglas
py_proto_library
Ver la fuente de la reglapy_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Argumentos
Atributos | |
---|---|
name |
Nombre: Obligatorio Un nombre único para este objetivo. |
deps
|
Lista de etiquetas; el valor predeterminado es |
proto_lang_toolchain
Ver la fuente de la reglaproto_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)
Si usas Bazel, carga la regla desde https://github.com/bazelbuild/rules_proto.
Especifica cómo una regla LANG_proto_library (p.ej., java_proto_library
) debe invocar al protocompilador.
Algunas reglas de LANG_proto_library permiten especificar qué cadena de herramientas usar con marcas de línea de comandos.
Consulta su documentación.
Por lo general, no debes escribir ese tipo de reglas, a menos que quieras ajustar tu compilador de Java.
No hay compilador. El protocompilador se toma de la regla proto_library a la que nos adjuntamos. Se pasa como una marca de línea de comandos a Blaze.
Varias funciones requieren que se invoque un compilador de proto en la propia regla proto_library.
Es beneficioso aplicar el compilador que usa LANG_proto_library es el mismo que el que usa proto_library
.
Ejemplos
Un ejemplo simple sería el siguiente:
proto_lang_toolchain(
name = "javalite_toolchain",
command_line = "--javalite_out=shared,immutable:$(OUT)",
plugin = ":javalite_plugin",
runtime = ":protobuf_lite",
)
Argumentos
Atributos | |
---|---|
name |
Nombre: Obligatorio Un nombre único para este objetivo. |
allowlist_different_package
|
Etiqueta (Label); el valor predeterminado es |
blacklisted_protos
|
Es una lista de etiquetas. El valor predeterminado es srcs de blacklisted_protos .
Se usa para archivos .proto que ya están vinculados a entornos de ejecución de proto, como any.proto .
|
command_line
|
Cadena; obligatorio Este valor se pasará a proto-compiler para generar el código. Incluye solo las partes específicas de este generador de código o complemento (p. ej., no incluyas parámetros -I).
|
mnemonic
|
Cadena; el valor predeterminado es |
output_files
|
Cadena; el valor predeterminado es $(OUT) en command_line , ya sea mediante una ruta de acceso a un solo archivo o a un directorio de salida en caso de varios archivos.
Los valores posibles son “single”, “multiple”.
|
plugin
|
Etiqueta (Label); el valor predeterminado es --plugin=protoc-gen-PLUGIN=<executable>.
|
plugin_format_flag
|
Cadena; el valor predeterminado es --plugin=protoc-gen-PLUGIN=<executable>.
|
progress_message
|
Cadena; el valor predeterminado es |
protoc_minimal_do_not_use
|
Etiqueta; el valor predeterminado es |
runtime
|
Etiqueta (Label); el valor predeterminado es |
toolchain_type
|
Etiqueta (Label); el valor predeterminado es |
proto_toolchain
Ver la fuente de la reglaproto_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)
Argumentos
Atributos | |
---|---|
name |
Nombre: Obligatorio Un nombre único para este objetivo. |
command_line
|
Cadena; el valor predeterminado es |
mnemonic
|
String; el valor predeterminado es |
output_files
|
Cadena; el valor predeterminado es |
progress_message
|
Cadena; el valor predeterminado es |
proto_compiler
|
Etiqueta (Label); el valor predeterminado es |