Skip to main content

Module publish

Module publish 

Source
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.