From 2687815850b39b36ffeb841eee65ca480a94786e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Cie=C5=9Bla?= <31999821+BartoszCiesla@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:06:17 +0200 Subject: [PATCH] Support cargo-crap (#1905) --- TOOLS.md | 1 + manifests/cargo-crap.json | 166 +++++++++++++++++++++++++++++ tools/ci/tool-list.sh | 1 + tools/codegen/base/cargo-crap.json | 17 +++ 4 files changed, 185 insertions(+) create mode 100644 manifests/cargo-crap.json create mode 100644 tools/codegen/base/cargo-crap.json diff --git a/TOOLS.md b/TOOLS.md index 96b5cc3a..bb8465b6 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -21,6 +21,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho | [**cargo-auditable**](https://github.com/rust-secure-code/cargo-auditable) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-secure-code/cargo-auditable/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rust-secure-code/cargo-auditable/blob/master/LICENSE-APACHE) OR [MIT](https://github.com/rust-secure-code/cargo-auditable/blob/master/LICENSE-MIT) | | | [**cargo-binstall**](https://github.com/cargo-bins/cargo-binstall) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/main/crates/bin/LICENSE) | | | [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) | | +| [**cargo-crap**](https://github.com/minikin/cargo-crap) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/minikin/cargo-crap/releases) | Linux, macOS, Windows | [MIT](https://github.com/minikin/cargo-crap/blob/main/LICENSE) | | | [**cargo-cyclonedx**](https://github.com/CycloneDX/cyclonedx-rust-cargo) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/CycloneDX/cyclonedx-rust-cargo/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/CycloneDX/cyclonedx-rust-cargo/blob/main/LICENSE) | | | [**cargo-deadlinks**](https://github.com/deadlinks/cargo-deadlinks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/deadlinks/cargo-deadlinks/releases) | Linux, macOS, Windows | [MIT](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-APACHE) | | | [**cargo-deb**](https://github.com/kornelski/cargo-deb) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/kornelski/cargo-deb/releases) | Linux | [MIT](https://github.com/kornelski/cargo-deb/blob/main/LICENSE) | | diff --git a/manifests/cargo-crap.json b/manifests/cargo-crap.json new file mode 100644 index 00000000..cfb7c77f --- /dev/null +++ b/manifests/cargo-crap.json @@ -0,0 +1,166 @@ +{ + "rust_crate": "cargo-crap", + "template": { + "x86_64_linux_gnu": { + "url": "https://github.com/minikin/cargo-crap/releases/download/v${version}/cargo-crap-x86_64-unknown-linux-gnu.tar.gz", + "bin": "cargo-crap" + }, + "x86_64_macos": { + "url": "https://github.com/minikin/cargo-crap/releases/download/v${version}/cargo-crap-x86_64-apple-darwin.tar.gz", + "bin": "cargo-crap" + }, + "x86_64_windows": { + "url": "https://github.com/minikin/cargo-crap/releases/download/v${version}/cargo-crap-x86_64-pc-windows-msvc.zip", + "bin": "cargo-crap.exe" + }, + "aarch64_linux_gnu": { + "url": "https://github.com/minikin/cargo-crap/releases/download/v${version}/cargo-crap-aarch64-unknown-linux-gnu.tar.gz", + "bin": "cargo-crap" + }, + "aarch64_macos": { + "url": "https://github.com/minikin/cargo-crap/releases/download/v${version}/cargo-crap-aarch64-apple-darwin.tar.gz", + "bin": "cargo-crap" + } + }, + "latest": { + "version": "0.2.2" + }, + "0.2": { + "version": "0.2.2" + }, + "0.2.2": { + "x86_64_linux_gnu": { + "etag": "0x8DEBA440F9CAAB2", + "hash": "bdd727be3a530b010eeb4758155026586d2b26ebe3329026a8aec1b010a3869d" + }, + "x86_64_macos": { + "etag": "0x8DEBA440FA9E24C", + "hash": "aee1766b79c4f65efcf8d2d80c3fabadef5fc8ee82e2e1e4faa57015eea5caba" + }, + "x86_64_windows": { + "etag": "0x8DEBA440FA2977E", + "hash": "ba3638c875064df550487af3760d45c959cb6c6f6853028204b88ecec63a9356" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEBA440F992C31", + "hash": "a739d806fa8f5dcff9eb437cbe219b45da7a1d9016751fa47e34ab47ac25b881" + }, + "aarch64_macos": { + "etag": "0x8DEBA440F99C7BD", + "hash": "4912188a9853411719f55907b9ba7951c7539bf3bd9915625dd7166baaf236e6" + } + }, + "0.2.1": { + "x86_64_linux_gnu": { + "etag": "0x8DEB72FF2CB21EB", + "hash": "0f6f07a065a0a881240582fb22176b673726aaaeef97bedbca4b1a91fa60dcf7" + }, + "x86_64_macos": { + "etag": "0x8DEB72FF2D1358C", + "hash": "f810c612e5fde8f34687c2cb009862f26b151751699d0f1ffcadf9f82c9cf4a8" + }, + "x86_64_windows": { + "etag": "0x8DEB72FF2C22B50", + "hash": "d097f926d15cfa80200749bb3c5adb883536a5011073ef90838cd4ea26b26b5d" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEB72FF2DAC7B7", + "hash": "dfcaa763f1c96cee0801e8f2f5ed9c708559bde5dc1108656b4aa25473a518cf" + }, + "aarch64_macos": { + "etag": "0x8DEB72FF2CF3BF5", + "hash": "157e1107b19054d393e25fbf0e0a69547a7a52f694e5d8569cb76bc2abc55b74" + } + }, + "0.2.0": { + "x86_64_linux_gnu": { + "etag": "0x8DEAF22F6098BC2", + "hash": "1e4996709952ea99033b59a874e8323f1b3a98bc30283dbd2968c04b41cffd3c" + }, + "x86_64_macos": { + "etag": "0x8DEAF22F60F9F6D", + "hash": "4ddfe2851869d01752e3c2ef0c19e94235fe10cb2f7e6f9e4516f88e71e3e248" + }, + "x86_64_windows": { + "etag": "0x8DEAF22F609B2AB", + "hash": "deef6ac2f68002337f395e16369d78531c7ebb9445f49a646ecf7d6492784f69" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEAF22F5FE4DCB", + "hash": "75e76dcbee5671e9deef781a3c54573f428a7043fb13ae9422cfe3bf57a65787" + }, + "aarch64_macos": { + "etag": "0x8DEAF22F60B10A8", + "hash": "6a61c7fbf665d688ed5256f67d35d49231c305950ee372fbcc66742868530aca" + } + }, + "0.1": { + "version": "0.1.1" + }, + "0.1.1": { + "x86_64_linux_gnu": { + "etag": "0x8DEACEDFC8B7DEB", + "hash": "5259a6578c891302595846adff19ade34104369131d0f38a5bcb411d60d6a5cb" + }, + "x86_64_macos": { + "etag": "0x8DEACEDFC88E8BF", + "hash": "0da129b85c3455b8803c1924c81a8c74cce455a223d71871c313d0b5a13fb3e7" + }, + "x86_64_windows": { + "etag": "0x8DEACEDFC85B7FE", + "hash": "fc3b0ab6c72d74038ca94f53cf61a5e62a45e084a14e7a5af36d2fbebbe2cc29" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEACEDFC7F5684", + "hash": "0015b216a8ef8d247d6779a61d66026954f632a232f6cbbbe563078784b9521a" + }, + "aarch64_macos": { + "etag": "0x8DEACEDFC86A14F", + "hash": "64bb8d276fff01c7deffc892673ebff28990189521706c5a77f42ebc41e3bc1f" + } + }, + "0.1.0": { + "x86_64_linux_gnu": { + "etag": "0x8DEAC1F9C7CDB3C", + "hash": "5a41fc842d879a25c7175177810c71eecf85503eb46823e16fc546b1f07ef8e4" + }, + "x86_64_macos": { + "etag": "0x8DEAC1F9C8A12C6", + "hash": "e43fea194fbd293a7002201c5904ef0418c217abc3b4479b4b8eee820692db0c" + }, + "x86_64_windows": { + "etag": "0x8DEAC1F9C7C18C4", + "hash": "15a6936198d7d9405478d98e832d743a41232e60836356ceb31b7486f29cc7bb" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEAC1F9C8756B1", + "hash": "cb9578b2d887ae17fdbd3877d98f4b42c1620e89eb5409a60ab2bf5d499d2ce0" + }, + "aarch64_macos": { + "etag": "0x8DEAC1F9C822C68", + "hash": "936e36aa8483c0ef7a4b55d511f016ae1db55118875e7258aacb69ef1d6ae4e0" + } + }, + "0.0.2": { + "x86_64_linux_gnu": { + "etag": "0x8DEA48D57ECF9E2", + "hash": "d8d791524b58d1967bc0facc28215d8378a9cdd02420953cd9e395564839af1e" + }, + "x86_64_macos": { + "etag": "0x8DEA48D57EB2733", + "hash": "9746f82d71cce9c17399776289cc53a3e6157db9a2e04826d21283d15541af8f" + }, + "x86_64_windows": { + "etag": "0x8DEA48D57DDEF9D", + "hash": "760f6f44e45767feffd1a8075068de9b0ff54333cc564999f287d1dcf89d9397" + }, + "aarch64_linux_gnu": { + "etag": "0x8DEA48D57F94814", + "hash": "1157a2e397315346a27d890a3daec21ad0088c93ea19ae44d990e14e4400b601" + }, + "aarch64_macos": { + "etag": "0x8DEA48D57E4ECA3", + "hash": "296355a62cdea22b10b29b9dda94ff0f803f448352b6019c40a09cf2ba3475b1" + } + } +} diff --git a/tools/ci/tool-list.sh b/tools/ci/tool-list.sh index 72bb4f19..d16ba395 100755 --- a/tools/ci/tool-list.sh +++ b/tools/ci/tool-list.sh @@ -8,6 +8,7 @@ cd -- "$(dirname -- "$0")"/../.. # They don't provide prebuilt binaries for musl or old glibc host. # version `GLIBC_2.39' not found glibc_pre_2_39_incompat=( + cargo-crap cargo-deb cargo-mutants cargo-spellcheck diff --git a/tools/codegen/base/cargo-crap.json b/tools/codegen/base/cargo-crap.json new file mode 100644 index 00000000..9655b18b --- /dev/null +++ b/tools/codegen/base/cargo-crap.json @@ -0,0 +1,17 @@ +{ + "repository": "https://github.com/minikin/cargo-crap", + "license_markdown": "[MIT](https://github.com/minikin/cargo-crap/blob/main/LICENSE)", + "tag_prefix": "v", + "rust_crate": "${package}", + "bin": "${package}${exe}", + "asset_name": "${package}-${rust_target}.tar.gz", + "platform": { + "x86_64_linux_gnu": {}, + "aarch64_linux_gnu": {}, + "x86_64_macos": {}, + "aarch64_macos": {}, + "x86_64_windows": { + "asset_name": "${package}-${rust_target}.zip" + } + } +}