mirror of https://github.com/kubernetes/kops.git
37 lines
966 B
Python
37 lines
966 B
Python
def _impl(ctx):
|
|
in_file = ctx.file.src
|
|
|
|
basename = ctx.attr.src.label.name
|
|
out_sha256 = ctx.actions.declare_file("%s.sha256" % basename)
|
|
ctx.actions.run(
|
|
executable = ctx.executable._cmd_sha256,
|
|
outputs = [out_sha256],
|
|
inputs = [in_file],
|
|
arguments = [in_file.path, out_sha256.path],
|
|
)
|
|
|
|
return DefaultInfo(
|
|
files = depset([out_sha256]),
|
|
)
|
|
|
|
def _get_outputs(src):
|
|
return {
|
|
"sha256": src.name + ".sha256",
|
|
}
|
|
|
|
hashes = rule(
|
|
implementation = _impl,
|
|
attrs = {
|
|
"src": attr.label(mandatory = True, allow_single_file = True),
|
|
"_cmd_sha256": attr.label(
|
|
default = Label("//tools:sha256"),
|
|
allow_single_file = True,
|
|
executable = True,
|
|
cfg = "host",
|
|
),
|
|
},
|
|
# We have to do this so that we can reference these outputs in other files
|
|
# https://stackoverflow.com/a/50667861
|
|
outputs = _get_outputs,
|
|
)
|