-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Add more features to allow the removal of unused dependencies in library crates #24495
Copy link
Copy link
Open
Labels
A-Cross-CuttingImpacts the entire engineImpacts the entire engineC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ComplexQuite challenging from either a design or technical perspective. Ask for help!Quite challenging from either a design or technical perspective. Ask for help!S-Needs-GoalThis should have a C-Goal and should not continue until it has oneThis should have a C-Goal and should not continue until it has one
Metadata
Metadata
Assignees
Labels
A-Cross-CuttingImpacts the entire engineImpacts the entire engineC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ComplexQuite challenging from either a design or technical perspective. Ask for help!Quite challenging from either a design or technical perspective. Ask for help!S-Needs-GoalThis should have a C-Goal and should not continue until it has oneThis should have a C-Goal and should not continue until it has one
Type
Fields
Give feedbackNo fields configured for issues without a type.
Many bevy crates don't have features to remove unused dependencies.
Many bevy crates have features that allow using the crate without bevy, but they don't always have features for use in libraries that only need the types and not the actual functionality.
For example, bevy_transform has a
bevy-supportfeature that can be disabled to reduce unused dependencies, but no feature that allows usingTransformas aComponentwithout also addingbevy_appas a dependency. Moreover, thebevy_appdependency is only used for theTransformPlugin, which isn't normally needed in libraries.Solution
Add more features to bevy crates that allow more fine grained control over the dependencies used.
Additional Request
These features would also allow for something like a
libraryfeature for bevy, that can be used in libraries that don't need bevy features likePlugins orApp.