|
@@ -101,6 +101,7 @@ def cc_proto_library(
|
|
include=None,
|
|
include=None,
|
|
protoc="//google/protobuf:protoc",
|
|
protoc="//google/protobuf:protoc",
|
|
internal_bootstrap_hack=False,
|
|
internal_bootstrap_hack=False,
|
|
|
|
+ default_runtime="//google/protobuf:protobuf",
|
|
**kargs):
|
|
**kargs):
|
|
"""Bazel rule to create a C++ protobuf library from proto source files
|
|
"""Bazel rule to create a C++ protobuf library from proto source files
|
|
|
|
|
|
@@ -116,6 +117,8 @@ def cc_proto_library(
|
|
for bootstraping. When it is set to True, no files will be generated.
|
|
for bootstraping. When it is set to True, no files will be generated.
|
|
The rule will simply be a provider for .proto files, so that other
|
|
The rule will simply be a provider for .proto files, so that other
|
|
cc_proto_library can depend on it.
|
|
cc_proto_library can depend on it.
|
|
|
|
+ default_runtime: the implicitly default runtime which will be depended on by
|
|
|
|
+ the generated cc_library target.
|
|
**kargs: other keyword arguments that are passed to cc_library.
|
|
**kargs: other keyword arguments that are passed to cc_library.
|
|
|
|
|
|
"""
|
|
"""
|
|
@@ -151,6 +154,8 @@ def cc_proto_library(
|
|
outs=outs,
|
|
outs=outs,
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+ if default_runtime and not default_runtime in cc_libs:
|
|
|
|
+ cc_libs += [default_runtime]
|
|
|
|
|
|
native.cc_library(
|
|
native.cc_library(
|
|
name=name,
|
|
name=name,
|
|
@@ -197,6 +202,7 @@ def py_proto_library(
|
|
py_libs=[],
|
|
py_libs=[],
|
|
py_extra_srcs=[],
|
|
py_extra_srcs=[],
|
|
include=None,
|
|
include=None,
|
|
|
|
+ default_runtime="//google/protobuf:protobuf_python",
|
|
protoc="//google/protobuf:protoc",
|
|
protoc="//google/protobuf:protoc",
|
|
**kargs):
|
|
**kargs):
|
|
"""Bazel rule to create a Python protobuf library from proto source files
|
|
"""Bazel rule to create a Python protobuf library from proto source files
|
|
@@ -210,6 +216,8 @@ def py_proto_library(
|
|
py_extra_srcs: extra source files that will be added to the output
|
|
py_extra_srcs: extra source files that will be added to the output
|
|
py_library. This attribute is used for internal bootstrapping.
|
|
py_library. This attribute is used for internal bootstrapping.
|
|
include: a string indicating the include path of the .proto files.
|
|
include: a string indicating the include path of the .proto files.
|
|
|
|
+ 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.
|
|
protoc: the label of the protocol compiler to generate the sources.
|
|
**kargs: other keyword arguments that are passed to cc_library.
|
|
**kargs: other keyword arguments that are passed to cc_library.
|
|
|
|
|
|
@@ -239,6 +247,9 @@ def py_proto_library(
|
|
include=include)
|
|
include=include)
|
|
outs=[internal_copied_filegroup_name]
|
|
outs=[internal_copied_filegroup_name]
|
|
|
|
|
|
|
|
+ if default_runtime and not default_runtime in py_libs + deps:
|
|
|
|
+ py_libs += [default_runtime]
|
|
|
|
+
|
|
native.py_library(
|
|
native.py_library(
|
|
name=name,
|
|
name=name,
|
|
srcs=outs+py_extra_srcs,
|
|
srcs=outs+py_extra_srcs,
|