bazel-contrib / bazel-contrib/rules_multitool

Feature Request: Support compressed (non-archived) tools

Open
#97 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
25
Forks
11
PR merge metrics
No merged PRs in 30d

Description

I want to use multitool to download a binary ([taplo](https://github.com/tamasfe/taplo/releases/tag/0.10.0)) that's distributed as a gzip-compressed executable. That doesn't seem to be supported by this rule set as only archives are able to be decompressed.

Do you think this is something that could be supported? I know it's nontrivial since the module extension uses `rctx.download` and `rctx.download_and_extract` which doesn't private a primitive for downloading and decompressing a single file.

For reference, `aspect_rules_lint` which uses this rule set to download several tools (yamlfmt, terraform, etc.), uses a [raw `http_file`](https://github.com/aspect-build/rules_lint/blob/4ba6e3f5299a02e93dd461a1716dd2d737b8be2a/example/MODULE.bazel#L33) to download taplo along with a [genrule](https://github.com/aspect-build/rules_lint/blob/4ba6e3f5299a02e93dd461a1716dd2d737b8be2a/example/tools/format/BUILD.bazel#L67) to unwrap it. It would be great if we could natively support this in the multitool extension instead.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.