|
|
|
"""ProtoLangToolchainInfo"""
|
|
|
|
|
|
|
|
load("//bazel/private:native.bzl", "native_proto_common") # buildifier: disable=bzl-visibility
|
|
|
|
|
|
|
|
# Use Starlark implementation only if native_proto_common.ProtoLangToolchainInfo doesn't exist
|
|
|
|
ProtoLangToolchainInfo = getattr(native_proto_common, "ProtoLangToolchainInfo", provider(
|
|
|
|
doc = """Specifies how to generate language-specific code from .proto files.
|
|
|
|
Used by LANG_proto_library rules.""",
|
|
|
|
fields = dict(
|
|
|
|
out_replacement_format_flag = """(str) Format string used when passing output to the plugin
|
|
|
|
used by proto compiler.""",
|
|
|
|
output_files = """("single","multiple","legacy") Format out_replacement_format_flag with
|
|
|
|
a path to single file or a directory in case of multiple files.""",
|
|
|
|
plugin_format_flag = "(str) Format string used when passing plugin to proto compiler.",
|
|
|
|
plugin = "(FilesToRunProvider) Proto compiler plugin.",
|
|
|
|
runtime = "(Target) Runtime.",
|
|
|
|
provided_proto_sources = "(list[File]) Proto sources provided by the toolchain.",
|
|
|
|
proto_compiler = "(FilesToRunProvider) Proto compiler.",
|
|
|
|
protoc_opts = "(list[str]) Options to pass to proto compiler.",
|
|
|
|
progress_message = "(str) Progress message to set on the proto compiler action.",
|
|
|
|
mnemonic = "(str) Mnemonic to set on the proto compiler action.",
|
|
|
|
allowlist_different_package = """(Target) Allowlist to create lang_proto_library in a
|
|
|
|
different package than proto_library""",
|
|
|
|
toolchain_type = """(Label) Toolchain type that was used to obtain this info""",
|
|
|
|
),
|
|
|
|
))
|