TheBevyFlock / bevy_cli

A Bevy CLI tool and linter.
https://thebevyflock.github.io/bevy_cli/
Apache License 2.0
52 stars 7 forks source link

Detect duplicate plugin dependencies #16

Open janhohenheim opened 3 months ago

janhohenheim commented 3 months ago

This is an extension of #15 that also checks for duplicate versions of Bevy crates. It's bit more challenging to do, which is why it's a separate issue.


Should at least detect duplicate versions of bevy_egui, that one tends to cause issues for people on Discord. Should probably be a lint?

BD103 commented 3 months ago

I think this would be challenging to do, since it would require evaluating / inspecting the App after it is built. This should probably be changed upstream in bevy_app, if anything.

janhohenheim commented 3 months ago

I think checking the Cargo.lock would a fairly good and easy proxy, wouldn't it?

BD103 commented 3 months ago

Ah, great point! It may be difficult telling the difference between a "Bevy plugin crate" and a "normal library", but it certainly would be possible.

janhohenheim commented 3 months ago

Maybe something that directly depends on Bevy can be classified as a Bevy plugin? Wouldn't catch the crates that depend on Bevy's subcrates, but the lint doesn't have to be perfect for a start.

BD103 commented 3 months ago

True! We could also use package metadata, which would let plugin authors mark their crates as Bevy plugins.

BD103 commented 2 months ago

Just as a note, I edited Jan's original message as part of my issue-pass in https://github.com/TheBevyFlock/bevy_cli/issues/34.