Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1011 B
35 lines
1011 B
def internal_ruby_extension( |
|
name, |
|
extension, |
|
deps = [], |
|
**kwargs): |
|
"""Bazel rule to wrap up a generated ruby extension. |
|
|
|
NOTE: the rule is only an internal workaround. The interface may change and |
|
the rule may be removed when everything is properly "Bazelified". |
|
|
|
Args: |
|
name: the name of the target. |
|
extension: the path of the extension file. |
|
deps: extra dependencies to add. |
|
**kwargs: extra arguments to forward to the genrule. |
|
""" |
|
|
|
|
|
native.genrule( |
|
name = name, |
|
srcs = deps + [ |
|
"Rakefile", |
|
":srcs", |
|
":test_ruby_protos", |
|
":tests", |
|
"//third_party/utf8_range:all_files", |
|
], |
|
tags = ["manual"], |
|
outs = [extension], |
|
cmd = "pushd `dirname $(location Rakefile)`\n" + |
|
"BAZEL=true rake\n" + |
|
"popd\n" + |
|
"cp `dirname $(location Rakefile)`/%s $(OUTS)\n" % extension, |
|
**kwargs, |
|
)
|
|
|