Expand description
cargo xtask publish: publish the workspace’s crates in dependency order.
A crate cannot be packaged until the crates it depends on are in the
registry, so the order is not a preference — publishing unlit3d before
unlit_wgpu fails with no matching package named unlit_wgpu found. The
order is written down here rather than left to the caller, and each
cargo publish waits for the crate it uploaded to appear in the index, so
the next one’s dependencies resolve by the time it is packaged.
cargo publish --workspace orders the crates itself, but its --dry-run
cannot verify them (rust-lang/cargo#16525), and a release is worth checking
before it is uploaded; going crate by crate keeps that check.
The test harness, the examples and the task runner are publish = false,
so they are not in the list and are never uploaded.
Arguments after -- are forwarded to every cargo publish, so a flag cargo
gains does not need adding here.
Re-exports§
use std::process::Command;🔒use super::PublishArgs;🔒use super::step;🔒
Constants§
- CRATES 🔒
- The publishable crates, in the order publishing requires.
Functions§
- run
- Publish every crate, in order.