Skip to content

Commit

Permalink
Merge pull request #2404 from wiktortomczak/master
Browse files Browse the repository at this point in the history
Support grpc plugin in py_proto_library
  • Loading branch information
xfxyjwf authored Nov 22, 2016
2 parents b763246 + 0fa31b2 commit c950471
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions protobuf.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
"""
Expand All @@ -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,
Expand All @@ -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:
Expand Down

0 comments on commit c950471

Please sign in to comment.