diff --git a/.changes/bundler-output.md b/.changes/bundler-output.md new file mode 100644 index 000000000..5614e39fa --- /dev/null +++ b/.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}`. diff --git a/cli/tauri-bundler/src/bundle/dmg_bundle.rs b/cli/tauri-bundler/src/bundle/dmg_bundle.rs index 4f7a581a1..8678b5243 100644 --- a/cli/tauri-bundler/src/bundle/dmg_bundle.rs +++ b/cli/tauri-bundler/src/bundle/dmg_bundle.rs @@ -15,14 +15,18 @@ pub fn bundle_project(settings: &Settings) -> crate::Result> { // 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> { let mut args = vec![ "--volname", - &app_name, + &package_base_name, "--volicon", "../../../../icons/icon.icns", "--icon", diff --git a/cli/tauri-bundler/src/bundle/osx_bundle.rs b/cli/tauri-bundler/src/bundle/osx_bundle.rs index 8252dec86..0ad941cf2 100644 --- a/cli/tauri-bundler/src/bundle/osx_bundle.rs +++ b/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> { - 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() diff --git a/cli/tauri-bundler/src/bundle/wix.rs b/cli/tauri-bundler/src/bundle/wix.rs index 70b119092..34d1a5593 100644 --- a/cli/tauri-bundler/src/bundle/wix.rs +++ b/cli/tauri-bundler/src/bundle/wix.rs @@ -199,11 +199,19 @@ fn app_installer_dir(settings: &Settings) -> crate::Result { } }; - 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();