29 lines
656 B
Python
29 lines
656 B
Python
load(":rabbitmq_home.bzl", "RabbitmqHomeInfo", "rabbitmq_home_short_path")
|
|
|
|
def _impl(ctx):
|
|
rabbitmq_home_path = rabbitmq_home_short_path(ctx.attr.home)
|
|
|
|
script = """
|
|
exec ./{home}/sbin/{cmd} $@
|
|
""".format(
|
|
home = rabbitmq_home_path,
|
|
cmd = ctx.label.name,
|
|
)
|
|
|
|
ctx.actions.write(
|
|
output = ctx.outputs.executable,
|
|
content = script,
|
|
)
|
|
|
|
return [DefaultInfo(
|
|
runfiles = ctx.runfiles(ctx.attr.home[DefaultInfo].files.to_list()),
|
|
)]
|
|
|
|
rabbitmqctl = rule(
|
|
implementation = _impl,
|
|
attrs = {
|
|
"home": attr.label(providers = [RabbitmqHomeInfo]),
|
|
},
|
|
executable = True,
|
|
)
|