2026-04-06 17:02:56 -07:00
|
|
|
mod sidecar;
|
|
|
|
|
|
|
|
|
|
use std::sync::Mutex;
|
|
|
|
|
use tauri::Manager;
|
|
|
|
|
|
2026-04-06 10:20:25 -07:00
|
|
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
|
|
|
|
pub fn run() {
|
|
|
|
|
tauri::Builder::default()
|
|
|
|
|
.plugin(tauri_plugin_shell::init())
|
|
|
|
|
.plugin(tauri_plugin_dialog::init())
|
|
|
|
|
.plugin(tauri_plugin_process::init())
|
2026-04-06 17:02:56 -07:00
|
|
|
.manage(sidecar::ManagedSidecar(Mutex::new(
|
|
|
|
|
sidecar::SidecarManager::new(),
|
|
|
|
|
)))
|
|
|
|
|
.setup(|app| {
|
|
|
|
|
let resource_dir = app
|
|
|
|
|
.path()
|
|
|
|
|
.resource_dir()
|
|
|
|
|
.expect("failed to resolve resource dir");
|
|
|
|
|
let data_dir = app
|
|
|
|
|
.path()
|
|
|
|
|
.app_data_dir()
|
|
|
|
|
.expect("failed to resolve app data dir");
|
|
|
|
|
|
|
|
|
|
// Ensure the data directory exists
|
|
|
|
|
std::fs::create_dir_all(&data_dir).expect("failed to create app data dir");
|
|
|
|
|
|
|
|
|
|
sidecar::init_dirs(resource_dir, data_dir);
|
|
|
|
|
Ok(())
|
|
|
|
|
})
|
|
|
|
|
.invoke_handler(tauri::generate_handler![
|
|
|
|
|
sidecar::check_sidecar,
|
|
|
|
|
sidecar::download_sidecar,
|
|
|
|
|
sidecar::check_sidecar_update,
|
|
|
|
|
sidecar::get_sidecar_port,
|
|
|
|
|
sidecar::start_sidecar,
|
|
|
|
|
sidecar::stop_sidecar,
|
|
|
|
|
])
|
2026-04-06 10:20:25 -07:00
|
|
|
.run(tauri::generate_context!())
|
|
|
|
|
.expect("error while running tauri application");
|
|
|
|
|
}
|