Fix panic when OSDK creating crate with - in its name

This commit is contained in:
Marsman1996
2024-08-08 09:32:35 +08:00
committed by Tate, Hongliang Tian
parent 37a9590cfe
commit ae63aa699b

View File

@ -163,18 +163,13 @@ fn get_manifest_path<'a>(cargo_metadata: &'a serde_json::Value, crate_name: &str
fn get_src_path<'a>(cargo_metadata: &'a serde_json::Value, crate_name: &str) -> &'a str { fn get_src_path<'a>(cargo_metadata: &'a serde_json::Value, crate_name: &str) -> &'a str {
let metadata = get_package_metadata(cargo_metadata, crate_name); let metadata = get_package_metadata(cargo_metadata, crate_name);
let targets = metadata.get("targets").unwrap().as_array().unwrap(); let targets = metadata.get("targets").unwrap().as_array().unwrap();
if targets.len() == 1 {
for target in targets { let target = &targets[0];
let name = target.get("name").unwrap().as_str().unwrap();
if name != crate_name {
continue;
}
let src_path = target.get("src_path").unwrap(); let src_path = target.get("src_path").unwrap();
return src_path.as_str().unwrap(); return src_path.as_str().unwrap();
} }
panic!("the crate name does not match with any target"); panic!("there is no target generated");
} }
fn get_workspace_root(cargo_metadata: &serde_json::Value) -> &str { fn get_workspace_root(cargo_metadata: &serde_json::Value) -> &str {