|
|
|
@ -304,6 +304,7 @@ def py_proto_library( |
|
|
|
|
include=None, |
|
|
|
|
default_runtime="//:protobuf_python", |
|
|
|
|
protoc="//:protoc", |
|
|
|
|
use_grpc_plugin=False, |
|
|
|
|
**kargs): |
|
|
|
|
"""Bazel rule to create a Python protobuf library from proto source files |
|
|
|
|
|
|
|
|
@ -323,6 +324,8 @@ def py_proto_library( |
|
|
|
|
default_runtime: the implicitly default runtime which will be depended on by |
|
|
|
|
the generated py_library target. |
|
|
|
|
protoc: the label of the protocol compiler to generate the sources. |
|
|
|
|
use_grpc_plugin: a flag to indicate whether to call the Python C++ plugin |
|
|
|
|
when processing the proto files. |
|
|
|
|
**kargs: other keyword arguments that are passed to cc_library. |
|
|
|
|
|
|
|
|
|
""" |
|
|
|
@ -332,6 +335,13 @@ def py_proto_library( |
|
|
|
|
if include != None: |
|
|
|
|
includes = [include] |
|
|
|
|
|
|
|
|
|
grpc_python_plugin = None |
|
|
|
|
if use_grpc_plugin: |
|
|
|
|
grpc_python_plugin = "//external:grpc_python_plugin" |
|
|
|
|
# Note: Generated grpc code depends on Python grpc module. This dependency |
|
|
|
|
# is not explicitly listed in py_libs. Instead, host system is assumed to |
|
|
|
|
# have grpc installed. |
|
|
|
|
|
|
|
|
|
proto_gen( |
|
|
|
|
name=name + "_genproto", |
|
|
|
|
srcs=srcs, |
|
|
|
@ -341,6 +351,8 @@ def py_proto_library( |
|
|
|
|
gen_py=1, |
|
|
|
|
outs=outs, |
|
|
|
|
visibility=["//visibility:public"], |
|
|
|
|
plugin=grpc_python_plugin, |
|
|
|
|
plugin_language="grpc" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
if default_runtime and not default_runtime in py_libs + deps: |
|
|
|
|