"The python compile rules use an aspect-based implementation (aspect.bzl) rather than the traditional implementation (compile.bzl)"
Generates *.py protobuf artifacts
load("@build_stack_rules_proto//python:deps.bzl", "python_proto_compile")
python_proto_compile()
load("@build_stack_rules_proto//python:python_proto_compile.bzl", "python_proto_compile")
python_proto_compile(
name = "person_python_proto",
deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)
Name |
Type |
Default |
Description |
deps |
list<ProtoInfo> |
[] |
List of labels that provide a ProtoInfo (native.proto_library ) |
Name |
Type |
Default |
Description |
plugins |
list<ProtoPluginInfo> |
[] |
List of labels that provide a ProtoPluginInfo |
plugin_options |
list<string> |
[] |
List of additional 'global' plugin options (applies to all plugins) |
outputs |
list<generated file> |
[] |
List of additional expected generated file outputs |
has_services |
bool |
False |
If the proto files(s) have a service rpc, generate grpc outputs |
protoc |
executable file |
@com_google_protobuf//:protoc |
The protocol compiler tool |
verbose |
int |
0 |
1: show command, 2: show sandbox after, 3: show sandbox before |
include_imports |
bool |
True |
Pass the --include_imports argument to the protoc_plugin |
include_source_info |
bool |
True |
Pass the --include_source_info argument to the protoc_plugin |
transitive |
bool |
False |
Generated outputs for *.proto directly named in deps AND all transitive proto_library dependencies |
Generates *.py protobuf+gRPC artifacts
load("@build_stack_rules_proto//python:deps.bzl", "python_grpc_compile")
python_grpc_compile()
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
load("@build_stack_rules_proto//python:python_grpc_compile.bzl", "python_grpc_compile")
python_grpc_compile(
name = "greeter_python_grpc",
deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)
Category |
Flag |
Value |
Description |
build |
incompatible_enable_cc_toolchain_resolution |
false |
|
Name |
Type |
Default |
Description |
deps |
list<ProtoInfo> |
[] |
List of labels that provide a ProtoInfo (native.proto_library ) |
Name |
Type |
Default |
Description |
plugins |
list<ProtoPluginInfo> |
[] |
List of labels that provide a ProtoPluginInfo |
plugin_options |
list<string> |
[] |
List of additional 'global' plugin options (applies to all plugins) |
outputs |
list<generated file> |
[] |
List of additional expected generated file outputs |
has_services |
bool |
False |
If the proto files(s) have a service rpc, generate grpc outputs |
protoc |
executable file |
@com_google_protobuf//:protoc |
The protocol compiler tool |
verbose |
int |
0 |
1: show command, 2: show sandbox after, 3: show sandbox before |
include_imports |
bool |
True |
Pass the --include_imports argument to the protoc_plugin |
include_source_info |
bool |
True |
Pass the --include_source_info argument to the protoc_plugin |
transitive |
bool |
False |
Generated outputs for *.proto directly named in deps AND all transitive proto_library dependencies |
Generates *.py protobuf library
load("@build_stack_rules_proto//python:deps.bzl", "python_proto_library")
python_proto_library()
load("@io_bazel_rules_python//python:pip.bzl", "pip_import", "pip_repositories")
pip_repositories()
pip_import(
name = "protobuf_py_deps",
requirements = "@build_stack_rules_proto//python/requirements:protobuf.txt",
)
load("@protobuf_py_deps//:requirements.bzl", protobuf_pip_install = "pip_install")
protobuf_pip_install()
load("@build_stack_rules_proto//python:python_proto_library.bzl", "python_proto_library")
python_proto_library(
name = "person_python_library",
deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)
Name |
Type |
Default |
Description |
deps |
list<ProtoInfo> |
[] |
List of labels that provide a ProtoInfo (native.proto_library ) |
Name |
Type |
Default |
Description |
plugins |
list<ProtoPluginInfo> |
[] |
List of labels that provide a ProtoPluginInfo |
plugin_options |
list<string> |
[] |
List of additional 'global' plugin options (applies to all plugins) |
outputs |
list<generated file> |
[] |
List of additional expected generated file outputs |
has_services |
bool |
False |
If the proto files(s) have a service rpc, generate grpc outputs |
protoc |
executable file |
@com_google_protobuf//:protoc |
The protocol compiler tool |
verbose |
int |
0 |
1: show command, 2: show sandbox after, 3: show sandbox before |
include_imports |
bool |
True |
Pass the --include_imports argument to the protoc_plugin |
include_source_info |
bool |
True |
Pass the --include_source_info argument to the protoc_plugin |
transitive |
bool |
False |
Generated outputs for *.proto directly named in deps AND all transitive proto_library dependencies |
Generates *.py protobuf+gRPC library
load("@build_stack_rules_proto//python:deps.bzl", "python_grpc_library")
python_grpc_library()
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
load("@io_bazel_rules_python//python:pip.bzl", "pip_import", "pip_repositories")
pip_repositories()
pip_import(
name = "protobuf_py_deps",
requirements = "@build_stack_rules_proto//python/requirements:protobuf.txt",
)
load("@protobuf_py_deps//:requirements.bzl", protobuf_pip_install = "pip_install")
protobuf_pip_install()
pip_import(
name = "grpc_py_deps",
requirements = "@build_stack_rules_proto//python:requirements.txt",
)
load("@grpc_py_deps//:requirements.bzl", grpc_pip_install = "pip_install")
grpc_pip_install()
load("@build_stack_rules_proto//python:python_grpc_library.bzl", "python_grpc_library")
python_grpc_library(
name = "greeter_python_library",
deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)
Name |
Type |
Default |
Description |
deps |
list<ProtoInfo> |
[] |
List of labels that provide a ProtoInfo (native.proto_library ) |
Name |
Type |
Default |
Description |
plugins |
list<ProtoPluginInfo> |
[] |
List of labels that provide a ProtoPluginInfo |
plugin_options |
list<string> |
[] |
List of additional 'global' plugin options (applies to all plugins) |
outputs |
list<generated file> |
[] |
List of additional expected generated file outputs |
has_services |
bool |
False |
If the proto files(s) have a service rpc, generate grpc outputs |
protoc |
executable file |
@com_google_protobuf//:protoc |
The protocol compiler tool |
verbose |
int |
0 |
1: show command, 2: show sandbox after, 3: show sandbox before |
include_imports |
bool |
True |
Pass the --include_imports argument to the protoc_plugin |
include_source_info |
bool |
True |
Pass the --include_source_info argument to the protoc_plugin |
transitive |
bool |
False |
Generated outputs for *.proto directly named in deps AND all transitive proto_library dependencies |