Files
shy-launcher/src/main.rs
T
Shiewk d771e6fc48
Test and release / Run Tests (push) Has been cancelled
Test and release / Build and Release (push) Has been cancelled
fix: check for file presence after download
2026-04-19 18:41:11 +02:00

44 lines
1.1 KiB
Rust

use std::{error::Error, fs, process::Command};
use shy_launcher::{config::Config, downloader};
#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), Box<dyn Error>> {
println!("Starting app launcher...");
let config = Config::load("config.json")?;
println!("Starting download...");
downloader::download(config.downloads()).await;
println!("Verifying file presence...");
for download in config.downloads() {
let filename = download.filename();
if !fs::exists(filename)? {
panic!("Required file {} not present", filename);
}
println!("[ok] {}", filename);
}
println!("Freeing memory...");
if unsafe { libc::malloc_trim(0) } == 1 {
println!("Freed up some memory.");
}
println!("Launching app...");
println!();
println!("--------------------------");
println!();
let mut child = Command::new(config.run())
.args(config.args())
.spawn()?;
let exit = child.wait()?;
println!();
println!("--------------------------");
println!();
println!("Child exited: {exit}");
Ok(())
}