From e34ee4c29c7fde02e09685a3100f0b2ef6380c98 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Sun, 14 Feb 2021 17:57:59 -0300 Subject: [PATCH] fix(bundler): workspace detection, closes #1007 (#1235) --- .changes/workspace-detection.md | 5 +++++ cli/tauri-bundler/src/bundle/settings.rs | 15 +++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 .changes/workspace-detection.md diff --git a/.changes/workspace-detection.md b/.changes/workspace-detection.md new file mode 100644 index 000000000..150fe88e3 --- /dev/null +++ b/.changes/workspace-detection.md @@ -0,0 +1,5 @@ +--- +"tauri-bundler": minor +--- + +Fixes the bundler workspace detection. diff --git a/cli/tauri-bundler/src/bundle/settings.rs b/cli/tauri-bundler/src/bundle/settings.rs index bc297caae..ff4d01b9a 100644 --- a/cli/tauri-bundler/src/bundle/settings.rs +++ b/cli/tauri-bundler/src/bundle/settings.rs @@ -507,19 +507,18 @@ impl Settings { /// Otherwise returns the current directory. pub fn get_workspace_dir(current_dir: &PathBuf) -> PathBuf { let mut dir = current_dir.clone(); - let project_name = CargoSettings::load(&dir).unwrap().package.unwrap().name; + let project_path = current_dir.clone(); while dir.pop() { if let Ok(cargo_settings) = CargoSettings::load(&dir) { if let Some(workspace_settings) = cargo_settings.workspace { - if workspace_settings.members.is_some() - && workspace_settings - .members - .expect("Couldn't get members") + if let Some(members) = workspace_settings.members { + if members .iter() - .any(|member| member.as_str() == project_name) - { - return dir; + .any(|member| dir.join(member) == project_path) + { + return dir; + } } } }