From ae63aa699bd063b6bd8a99dd0ef4738f64ddccc8 Mon Sep 17 00:00:00 2001 From: Marsman1996 Date: Thu, 8 Aug 2024 09:32:35 +0800 Subject: [PATCH] Fix panic when OSDK creating crate with `-` in its name --- osdk/src/commands/new/mod.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/osdk/src/commands/new/mod.rs b/osdk/src/commands/new/mod.rs index 1c5c38600..86a285258 100644 --- a/osdk/src/commands/new/mod.rs +++ b/osdk/src/commands/new/mod.rs @@ -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 { let metadata = get_package_metadata(cargo_metadata, crate_name); let targets = metadata.get("targets").unwrap().as_array().unwrap(); - - for target in targets { - let name = target.get("name").unwrap().as_str().unwrap(); - if name != crate_name { - continue; - } - + if targets.len() == 1 { + let target = &targets[0]; let src_path = target.get("src_path").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 {