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.
|
|
|
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",
|
|
|
|
"@utf8_range//:utf8_range_srcs",
|
|
|
|
],
|
|
|
|
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,
|
|
|
|
)
|