diff --git a/installer/src/lib.rs b/installer/src/lib.rs index 5317129..1186499 100644 --- a/installer/src/lib.rs +++ b/installer/src/lib.rs @@ -327,3 +327,12 @@ pub fn run_with_callback<'a>( pub fn version() -> &'static str { env!("CARGO_PKG_VERSION") } + +/// Run the CLI installer +/// +/// This function is public so the binary can call it, library users should use `run_with_callback` +/// instead. +pub async fn main_cli() -> Result<(), Error> { + let args = Args::parse(); + run(args).await +} diff --git a/installer/src/main.rs b/installer/src/main.rs index d7a77ad..e07c803 100644 --- a/installer/src/main.rs +++ b/installer/src/main.rs @@ -1,7 +1,6 @@ -fn main() { - let args: Vec = std::env::args().skip(1).collect(); - - if let Err(e) = installer::run_with_callback(args.iter().map(|s| s.as_str()), None) { +#[tokio::main(flavor = "current_thread")] +async fn main() { + if let Err(e) = installer::main_cli().await { eprintln!("{e:?}"); std::process::exit(1); }