浏览代码

refactor(bundler) standard output names and path (#823)

Lucas Fernandes Nogueira 5 年之前
父节点
当前提交
9130f1b1a4

+ 5 - 0
.changes/bundler-output.md

@@ -0,0 +1,5 @@
+---
+"tauri-bundler": minor
+---
+
+Bundler output refactor: move Windows artifacts to the `bundle/wix` folder and use a standard output name `${bundleName}_${version}_${arch}.${extension}`.

+ 9 - 5
cli/tauri-bundler/src/bundle/dmg_bundle.rs

@@ -15,14 +15,18 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
   // generate the .app bundle
   osx_bundle::bundle_project(settings)?;
 
-  let app_name = settings.bundle_name();
-
   // get the target path
   let output_path = settings.project_out_directory().join("bundle/dmg");
-  let dmg_name = format!("{}.dmg", app_name.clone());
+  let package_base_name = format!(
+    "{}_{}_{}",
+    settings.main_binary_name(),
+    settings.version_string(),
+    settings.binary_arch()
+  );
+  let dmg_name = format!("{}.dmg", &package_base_name);
   let dmg_path = output_path.join(&dmg_name.clone());
 
-  let bundle_name = &format!("{}.app", app_name);
+  let bundle_name = &format!("{}.app", &package_base_name);
   let bundle_dir = settings.project_out_directory().join("bundle/osx");
   let bundle_path = bundle_dir.join(&bundle_name.clone());
 
@@ -71,7 +75,7 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
 
   let mut args = vec![
     "--volname",
-    &app_name,
+    &package_base_name,
     "--volicon",
     "../../../../icons/icon.icns",
     "--icon",

+ 7 - 1
cli/tauri-bundler/src/bundle/osx_bundle.rs

@@ -37,7 +37,13 @@ use std::process::{Command, Stdio};
 /// Bundles the project.
 /// Returns a vector of PathBuf that shows where the .app was created.
 pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
-  let app_bundle_name = format!("{}.app", settings.bundle_name());
+  let package_base_name = format!(
+    "{}_{}_{}",
+    settings.main_binary_name(),
+    settings.version_string(),
+    settings.binary_arch()
+  );
+  let app_bundle_name = format!("{}.app", package_base_name);
   common::print_bundling(&app_bundle_name)?;
   let app_bundle_path = settings
     .project_out_directory()

+ 16 - 5
cli/tauri-bundler/src/bundle/wix.rs

@@ -199,11 +199,19 @@ fn app_installer_dir(settings: &Settings) -> crate::Result<PathBuf> {
     }
   };
 
-  Ok(settings.project_out_directory().to_path_buf().join(format!(
-    "{}.{}.msi",
-    settings.bundle_name(),
+  let package_base_name = format!(
+    "{}_{}_{}",
+    settings.main_binary_name(),
+    settings.version_string(),
     arch
-  )))
+  );
+
+  Ok(
+    settings
+      .project_out_directory()
+      .to_path_buf()
+      .join(format!("bundle/wix/{}.msi", package_base_name)),
+  )
 }
 
 /// Extracts the zips from Wix and VC_REDIST into a useable path.
@@ -407,7 +415,10 @@ pub fn build_wix_app_installer(
   // target only supports x64.
   common::print_info(format!("Target: {}", arch).as_str())?;
 
-  let output_path = settings.project_out_directory().join("wix").join(arch);
+  let output_path = settings
+    .project_out_directory()
+    .join("bundle/wix")
+    .join(arch);
 
   let mut data = BTreeMap::new();