bazel-contrib / bazel-contrib/rules_multitool
Feature Request: Support compressed (non-archived) tools
- 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
Assessment
This issue has not been assessed yet.