bevy_reflect incorrectly looks for bevy in dev-deps (#1182)

* fix: bevy_reflect looking for bevy in dev-deps
* fix: support bevy as dev-dep only in bevy_reflect
This commit is contained in:
Théo Degioanni 2021-01-03 20:28:00 +01:00 committed by GitHub
parent 6c07c80f81
commit 804c068cc9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,4 +1,4 @@
use find_crate::Manifest;
use find_crate::{Dependencies, Manifest};
use proc_macro::TokenStream;
use syn::Path;
@ -28,7 +28,10 @@ impl Modules {
}
pub fn get_modules() -> Modules {
let manifest = Manifest::new().unwrap();
let mut manifest = Manifest::new().unwrap();
// Only look for regular dependencies in the first pass.
manifest.dependencies = Dependencies::Release;
if let Some(package) = manifest.find(|name| name == "bevy") {
Modules::meta(&package.name)
} else if let Some(package) = manifest.find(|name| name == "bevy_internal") {
@ -36,7 +39,19 @@ pub fn get_modules() -> Modules {
} else if let Some(_package) = manifest.find(|name| name == "bevy_reflect") {
Modules::external()
} else {
Modules::internal()
// If reflect is not found as a regular dependency,
// try dev-dependencies.
manifest.dependencies = Dependencies::Dev;
if let Some(package) = manifest.find(|name| name == "bevy") {
Modules::meta(&package.name)
} else if let Some(package) = manifest.find(|name| name == "bevy_internal") {
Modules::meta(&package.name)
} else if let Some(_package) = manifest.find(|name| name == "bevy_reflect") {
Modules::external()
} else {
Modules::internal()
}
}
}