mirror of
https://github.com/dockersrc/rust
synced 2026-08-30 02:01:14 -04:00
🔧 Add 8 more cargo dev tools; swap cargo-asm for cargo-show-asm 🔧
Adds 8 more commonly-used cargo dev tools that were absent from the tool list entirely, and replaces cargo-asm (unmaintained) with its actively maintained successor cargo-show-asm. All added to the rust-tools stage's main cargo binstall loop, same as every other tool — that stage runs FROM --platform=$BUILDPLATFORM, so binstall fetches run natively on the build host for every target arch, never under QEMU emulation; 05-custom.sh only symlinks already-fetched binaries and installs nothing itself (confirmed in its own in-file comment, per AI.md PART 5's description of 05-custom.sh as toolchain-specific install logic). - Dockerfile: added cargo-auditable (grouped with cargo-audit/cargo-about), cargo-insta (grouped with cargo-nextest), cargo-hakari and cargo-c (grouped near cargo-hack/cbindgen), cargo-modules/cargo-get/cargo-cache/ cargo-readme (grouped with the DB/misc tools at the end of the loop); swapped cargo-asm -> cargo-show-asm in place. - README.md: documented all 8 new tools in their matching category tables, and updated the disassembly row to cargo-show-asm.
This commit is contained in:
+10
-2
@@ -111,6 +111,7 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local
|
|||||||
bacon \
|
bacon \
|
||||||
cargo-audit \
|
cargo-audit \
|
||||||
cargo-about \
|
cargo-about \
|
||||||
|
cargo-auditable \
|
||||||
cargo-deny \
|
cargo-deny \
|
||||||
cargo-cyclonedx \
|
cargo-cyclonedx \
|
||||||
cargo-machete \
|
cargo-machete \
|
||||||
@@ -122,6 +123,7 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local
|
|||||||
cargo-chef \
|
cargo-chef \
|
||||||
cargo-zigbuild \
|
cargo-zigbuild \
|
||||||
cargo-nextest \
|
cargo-nextest \
|
||||||
|
cargo-insta \
|
||||||
just \
|
just \
|
||||||
tokei \
|
tokei \
|
||||||
hyperfine \
|
hyperfine \
|
||||||
@@ -132,6 +134,7 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local
|
|||||||
taplo-cli \
|
taplo-cli \
|
||||||
cargo-sort \
|
cargo-sort \
|
||||||
cargo-hack \
|
cargo-hack \
|
||||||
|
cargo-hakari \
|
||||||
dprint \
|
dprint \
|
||||||
grcov \
|
grcov \
|
||||||
cargo-llvm-cov \
|
cargo-llvm-cov \
|
||||||
@@ -140,9 +143,10 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local
|
|||||||
wasm-tools \
|
wasm-tools \
|
||||||
wasm-bindgen-cli \
|
wasm-bindgen-cli \
|
||||||
cbindgen \
|
cbindgen \
|
||||||
|
cargo-c \
|
||||||
cargo-binutils \
|
cargo-binutils \
|
||||||
cargo-bloat \
|
cargo-bloat \
|
||||||
cargo-asm \
|
cargo-show-asm \
|
||||||
cargo-criterion \
|
cargo-criterion \
|
||||||
cargo-careful \
|
cargo-careful \
|
||||||
cargo-public-api \
|
cargo-public-api \
|
||||||
@@ -162,7 +166,11 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local
|
|||||||
flamegraph \
|
flamegraph \
|
||||||
probe-rs-tools \
|
probe-rs-tools \
|
||||||
sqlx-cli \
|
sqlx-cli \
|
||||||
sea-orm-cli; \
|
sea-orm-cli \
|
||||||
|
cargo-modules \
|
||||||
|
cargo-get \
|
||||||
|
cargo-cache \
|
||||||
|
cargo-readme; \
|
||||||
do \
|
do \
|
||||||
cargo binstall -y --disable-strategies compile --target "${RUST_TARGET}" "${tool}" || true; \
|
cargo binstall -y --disable-strategies compile --target "${RUST_TARGET}" "${tool}" || true; \
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -181,6 +181,7 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| `cargo-geiger` | Counts `unsafe` blocks and dependencies — reports unsafe surface area |
|
| `cargo-geiger` | Counts `unsafe` blocks and dependencies — reports unsafe surface area |
|
||||||
| `cargo-deny` | Policy enforcement — license allow-lists, ban crates, advisories |
|
| `cargo-deny` | Policy enforcement — license allow-lists, ban crates, advisories |
|
||||||
| `cargo-audit` | Scan `Cargo.lock` against the RustSec advisory DB |
|
| `cargo-audit` | Scan `Cargo.lock` against the RustSec advisory DB |
|
||||||
|
| `cargo-auditable` | Embed dependency info into the compiled binary so it can be audited later |
|
||||||
| `cargo-about` | Generate a third-party license report/notice from `Cargo.lock` |
|
| `cargo-about` | Generate a third-party license report/notice from `Cargo.lock` |
|
||||||
| `cargo-cyclonedx` | Generate a CycloneDX SBOM from `Cargo.lock` |
|
| `cargo-cyclonedx` | Generate a CycloneDX SBOM from `Cargo.lock` |
|
||||||
| `cargo-machete` | Detect unused dependencies (stable) |
|
| `cargo-machete` | Detect unused dependencies (stable) |
|
||||||
@@ -206,6 +207,7 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| Tool | Purpose |
|
| Tool | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| `cargo-nextest` | Faster test runner — parallel, per-test timeouts, JUnit output |
|
| `cargo-nextest` | Faster test runner — parallel, per-test timeouts, JUnit output |
|
||||||
|
| `cargo-insta` | Snapshot testing — review and accept `.snap` file diffs from the CLI |
|
||||||
| `cargo-llvm-cov` | Source-based code coverage using LLVM instrumentation |
|
| `cargo-llvm-cov` | Source-based code coverage using LLVM instrumentation |
|
||||||
| `cargo-tarpaulin` | Coverage via ptrace — useful when LLVM instrumentation isn't available |
|
| `cargo-tarpaulin` | Coverage via ptrace — useful when LLVM instrumentation isn't available |
|
||||||
| `grcov` | Mozilla's LLVM coverage aggregator — converts profraw data to lcov/HTML |
|
| `grcov` | Mozilla's LLVM coverage aggregator — converts profraw data to lcov/HTML |
|
||||||
@@ -246,9 +248,10 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| Tool | Purpose |
|
| Tool | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| `cargo-expand` | Expand proc-macros and `macro_rules!` to plain Rust |
|
| `cargo-expand` | Expand proc-macros and `macro_rules!` to plain Rust |
|
||||||
| `cargo-asm` | Disassemble a function to see the emitted assembly |
|
| `cargo-show-asm` | Disassemble a function to see the emitted assembly (maintained successor to `cargo-asm`) |
|
||||||
| `cargo-bloat` | Identify what is taking space in your binary |
|
| `cargo-bloat` | Identify what is taking space in your binary |
|
||||||
| `cargo-binutils` | `llvm-size`, `llvm-nm`, `llvm-objdump`, etc. via `cargo-` wrappers |
|
| `cargo-binutils` | `llvm-size`, `llvm-nm`, `llvm-objdump`, etc. via `cargo-` wrappers |
|
||||||
|
| `cargo-modules` | Visualize and query a crate's module tree |
|
||||||
| `tokei` | Count lines of code by language |
|
| `tokei` | Count lines of code by language |
|
||||||
|
|
||||||
### Build & release
|
### Build & release
|
||||||
@@ -262,6 +265,7 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| `cargo-deb` | Build `.deb` packages directly from `Cargo.toml` |
|
| `cargo-deb` | Build `.deb` packages directly from `Cargo.toml` |
|
||||||
| `cargo-generate` | Scaffold new crates from templates |
|
| `cargo-generate` | Scaffold new crates from templates |
|
||||||
| `cargo-chef` | Docker layer caching for Cargo builds — pre-cook dependencies |
|
| `cargo-chef` | Docker layer caching for Cargo builds — pre-cook dependencies |
|
||||||
|
| `cargo-c` | Build C-compatible static/shared libs with headers and a `.pc` file |
|
||||||
|
|
||||||
### Cross-compilation
|
### Cross-compilation
|
||||||
|
|
||||||
@@ -289,6 +293,7 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
|------|---------|
|
|------|---------|
|
||||||
| `mdbook` | Build documentation books from Markdown |
|
| `mdbook` | Build documentation books from Markdown |
|
||||||
| `mdbook-toc` | Auto-generate table-of-contents for mdBook chapters |
|
| `mdbook-toc` | Auto-generate table-of-contents for mdBook chapters |
|
||||||
|
| `cargo-readme` | Generate `README.md` from crate-root doc comments |
|
||||||
|
|
||||||
### Workflow & dev loop
|
### Workflow & dev loop
|
||||||
|
|
||||||
@@ -300,6 +305,8 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| `cargo-update` | Update installed cargo binaries (`cargo install-update -a`) |
|
| `cargo-update` | Update installed cargo binaries (`cargo install-update -a`) |
|
||||||
| `cargo-outdated` | Show outdated `Cargo.toml` dependencies |
|
| `cargo-outdated` | Show outdated `Cargo.toml` dependencies |
|
||||||
| `cargo-info` | Detailed crate info from crates.io |
|
| `cargo-info` | Detailed crate info from crates.io |
|
||||||
|
| `cargo-get` | Read `Cargo.toml` metadata fields from scripts/CI |
|
||||||
|
| `cargo-hakari` | Manage a workspace-hack crate to speed up workspace builds |
|
||||||
| `cargo-msrv` | Find and verify the minimum supported Rust version |
|
| `cargo-msrv` | Find and verify the minimum supported Rust version |
|
||||||
|
|
||||||
### Compilation cache
|
### Compilation cache
|
||||||
@@ -307,6 +314,7 @@ Run miri with: `cargo +nightly miri test`
|
|||||||
| Tool | Purpose |
|
| Tool | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| `sccache` | Shared compilation cache — cache on local disk, S3, Redis, GCS, or Azure |
|
| `sccache` | Shared compilation cache — cache on local disk, S3, Redis, GCS, or Azure |
|
||||||
|
| `cargo-cache` | Inspect and clean the `~/.cargo` registry/git cache |
|
||||||
|
|
||||||
### Database (best-effort)
|
### Database (best-effort)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user