-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Clean up root toml features #20752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up root toml features #20752
Conversation
…nal and clean up duplicates and add missing dependencies
|
mostly ok, but feels strange to have bevy_light, bevy_camera and bevy_mesh in optional features |
|
Yeah, I noticed that too. It's autogenerated by a build script though, and there seem to already be other wrongly optional features there (for example bevy_image). If i move it manually to default, CI fails. I'm gonna look into why the build script is doing weird things at some point. For now what we could do is list them as default features, so that they appear in the correct place, but its not really necessary because they're enabled transitively. |
tychedelia
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems a lot cleaner / more straightforward!
# Objective - We currently specify transitive feature dependencies in two places: bevy and bevy_internal Cargo.tomls - This means they get out of sync often, accumulate unnecessary duplication, and sometimes forget certain transitive deps. ## Solution - Standardize on bevy_internal. Why: this makes it impossible to use it incorrectly if you depend on bevy_internal directly for some reason. If we standardized on bevy Cargo.toml holding these, it would mean that they could be bypassed by depending on bevy_internal. Not sure why someone would do that, but this feels right. - Move the few transitive feature dependency specifications that are still in bevy to bevy_internal - clean up a lot of duplicates - add a few missing dependencies - add top level bevy_mesh, bevy_camera, bevy_light, and bevy_shader features. ## Testing - this stuff is hard to test automatically or comprehensively. bevyengine#20741 might make it easy to have a no-render test suite we can maintain coverage for, but other than that its just manual verification.
Objective
Solution
Testing