Principle:Risingwavelabs Risingwave Workspace Dependency Management
| Knowledge Sources | |
|---|---|
| Domains | Build_System, Rust, Dependencies |
| Last Updated | 2026-02-09 07:00 GMT |
Overview
Centralized dependency version management across a multi-crate Rust workspace using Cargo workspace inheritance.
Description
Workspace Dependency Management centralizes dependency version declarations in a Cargo workspace root, allowing individual crates to inherit versions rather than declaring them independently. This ensures consistency across the 50+ crates in the RisingWave workspace, prevents version conflicts, and simplifies dependency upgrades. The workspace Cargo.toml defines all shared dependencies with their versions, features, and optional patches, while member crates reference them via workspace inheritance syntax. This pattern is essential for large Rust projects to maintain build reproducibility and reduce merge conflicts.
Usage
Apply this principle when adding new dependencies to RisingWave crates, upgrading existing dependency versions, or creating new workspace member crates.