theseus-os / Theseus

Theseus is a modern OS written from scratch in Rust that explores 𝐢𝐧𝐭𝐫𝐚𝐥𝐢𝐧𝐠𝐮𝐚𝐥 𝐝𝐞𝐬𝐢𝐠𝐧: closing the semantic gap between compiler and hardware by maximally leveraging the power of language safety and affine types. Theseus aims to shift OS responsibilities like resource management into the compiler.
https://www.theseus-os.com/
MIT License
2.87k stars 172 forks source link

Use Cargo's workspace dependency feature #1093

Open tsoutsman opened 8 months ago

tsoutsman commented 8 months ago

Theseus tries to minimise different versions of the same dependency to minimise the size of the final image. However, this makes updating dependencies a hassle as all the different Cargo.toml files must be updated.

Cargo has a feature called workspace dependencies, which would allow us to define the versions once in the root Cargo.toml, and then inherit that version in crates in the workspace. Note that due to excludes in the root Cargo.toml, none of the benchmark or testing related crates could inherit dependencies, but that's not a big concern.

Initially mentioned by @NathanRoyer on Discord.