Merge branch 'feature/fallback_targets' of github.com:kandrelczyk/plugins-workspace into feature/fallback_targets
commit
0630002c65
@ -1,56 +1,57 @@
|
|||||||
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||||
|
|
||||||
use tauri_plugin_updater::UpdaterExt;
|
use tauri_plugin_updater::UpdaterExt;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut context = tauri::generate_context!();
|
let mut context = tauri::generate_context!();
|
||||||
tauri::Builder::default()
|
println!("{}", tauri::__TAURI_BUNDLE_TYPE);
|
||||||
.plugin(tauri_plugin_updater::Builder::new().build())
|
tauri::Builder::default()
|
||||||
.setup(|app| {
|
.plugin(tauri_plugin_updater::Builder::new().build())
|
||||||
let handle = app.handle().clone();
|
.setup(|app| {
|
||||||
tauri::async_runtime::spawn(async move {
|
let handle = app.handle().clone();
|
||||||
let mut builder = handle.updater_builder();
|
tauri::async_runtime::spawn(async move {
|
||||||
if std::env::var("TARGET").unwrap_or_default() == "nsis" {
|
let mut builder = handle.updater_builder();
|
||||||
// /D sets the default installation directory ($INSTDIR),
|
if std::env::var("TARGET").unwrap_or_default() == "nsis" {
|
||||||
// overriding InstallDir and InstallDirRegKey.
|
// /D sets the default installation directory ($INSTDIR),
|
||||||
// It must be the last parameter used in the command line and must not contain any quotes, even if the path contains spaces.
|
// overriding InstallDir and InstallDirRegKey.
|
||||||
// Only absolute paths are supported.
|
// It must be the last parameter used in the command line and must not contain any quotes, even if the path contains spaces.
|
||||||
// NOTE: we only need this because this is an integration test and we don't want to install the app in the programs folder
|
// Only absolute paths are supported.
|
||||||
builder = builder.installer_args(vec![format!(
|
// NOTE: we only need this because this is an integration test and we don't want to install the app in the programs folder
|
||||||
"/D={}",
|
builder = builder.installer_args(vec![format!(
|
||||||
tauri::utils::platform::current_exe()
|
"/D={}",
|
||||||
.unwrap()
|
tauri::utils::platform::current_exe()
|
||||||
.parent()
|
.unwrap()
|
||||||
.unwrap()
|
.parent()
|
||||||
.display()
|
.unwrap()
|
||||||
)]);
|
.display()
|
||||||
}
|
)]);
|
||||||
let updater = builder.build().unwrap();
|
}
|
||||||
|
let updater = builder.build().unwrap();
|
||||||
match updater.check().await {
|
|
||||||
Ok(Some(update)) => {
|
match updater.check().await {
|
||||||
if let Err(e) = update.download_and_install(|_, _| {}, || {}).await {
|
Ok(Some(update)) => {
|
||||||
println!("{e}");
|
if let Err(e) = update.download_and_install(|_, _| {}, || {}).await {
|
||||||
std::process::exit(1);
|
println!("{e}");
|
||||||
}
|
std::process::exit(1);
|
||||||
std::process::exit(0);
|
}
|
||||||
}
|
std::process::exit(0);
|
||||||
Ok(None) => {
|
}
|
||||||
std::process::exit(2);
|
Ok(None) => {
|
||||||
}
|
std::process::exit(2);
|
||||||
Err(e) => {
|
}
|
||||||
println!("{e}");
|
Err(e) => {
|
||||||
std::process::exit(1);
|
println!("{e}");
|
||||||
}
|
std::process::exit(1);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
Ok(())
|
});
|
||||||
})
|
Ok(())
|
||||||
.run(context)
|
})
|
||||||
.expect("error while running tauri application");
|
.run(context)
|
||||||
}
|
.expect("error while running tauri application");
|
||||||
|
}
|
||||||
|
Loading…
Reference in new issue