bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
36.75k stars 3.62k forks source link

Use Cargo workspace features for internal dependency versions #16652

Open viridia opened 6 hours ago

viridia commented 6 hours ago

Currently all of the Bevy sub-packages which depend on other parts of Bevy use explicit version numbers. This means that whenever a version of a package is bumped, you have to change the version number in every Cargo.toml that references it.

It would be much less work to use Cargo's workspace versioning feature:

bevy_app = { workspace = true }

This will use the version number specified in the top-level Cargo.toml (in the section workspace.dependencies).

Doing this means that the package version for each crate only needs to be specified in two places: in the package itself, and in the top-level workspace.dependencies. This will making bumping the versions much easier.

bushrat011899 commented 6 hours ago

I like this idea. This doesn't have the same issues that specifying external dependencies at a workspace-level does.

mockersf commented 5 hours ago

this is not a pain point as its handled by scripts and it already "just works"