A tool for running cargo commands on groups of crates in a workspace.
Install with:
cargo install cargo-groups
Then add groups to your Cargo.toml
:
[workspace.metadata.groups]
tools = ["path:crates/foo-debugger", "path:crates/foo-compiler"]
binaries = ["path:crates/foo", "path:crates/bar"]
Then run the cargo command:
cargo groups build tools
You can use globs in your group definitions:
[workspace.metadata.groups]
foo = ["path:crates/foo-*"]
You can add crates via their crate name with the pkg:
prefix and via their path
with the path:
prefix:
[workspace.metadata.groups]
foo = ["pkg:foo*", "path:crates/foo-*"]