Skip to main content

Crate mbx

Crate mbx 

Source
Expand description

mbx: a build cache for Rust projects.

Compilations are cached as individual rustc actions in a content-addressed store shared by every project and worktree on a machine, and optionally shared further through a remote cache.

This library target exists so the executable and integration tests can share application code; it is not an embedding API. The supported interfaces are the mbx command line – its subcommands and its versioned JSON output – and, for anything speaking to a remote cache, mbx-cache-protocol. mbx-cache-core and mbx-cache-rustc are internals too, and say so in their own descriptions.

Nothing here carries a compatibility guarantee, and CI’s public-API check skips this package for that reason – see UNCHECKED_PACKAGES in .github/workflows/ci.yml. Types the CLI alone reads may gain fields in a patch release. Do not restore the check to “protect” these items: it would only force a major bump every time the CLI gains a setting.

The modules below are #[doc(hidden)] for the same reason. They have to stay pub for the binary and the integration tests, but a published crate whose documentation advertises store and session invites exactly the dependency the paragraph above rules out.

Modules§

phase_timing
Wrapper timings use monotonic intervals; wall time only positions trace lanes. Totals are exclusive, while trace spans retain their nesting. Uninstrumented work stays visible as unattributed. Telemetry delivery is outside the timer.
remote
Turning remote cache configuration into a client.