From b3eb0e9bbbf4ea58c89e390b02427d6be99dae31 Mon Sep 17 00:00:00 2001 From: Metalit <48568911+Metalit@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:40:37 -0700 Subject: [PATCH 1/4] Improve script ergonomics --- src/commands/scripts.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/commands/scripts.rs b/src/commands/scripts.rs index afaf4e0..4f74945 100644 --- a/src/commands/scripts.rs +++ b/src/commands/scripts.rs @@ -12,10 +12,12 @@ use crate::{models::package::PackageConfigExtensions, utils::ndk}; use super::Command; #[derive(Args)] +#[command(disable_help_flag = true)] pub struct ScriptsCommand { script: String, - args: Option>, + #[arg(trailing_var_arg = true, allow_hyphen_values = true)] + args: Vec, } impl Command for ScriptsCommand { @@ -30,13 +32,11 @@ impl Command for ScriptsCommand { bail!("Could not find script {}", self.script); } - let supplied_args = self.args.unwrap_or_default(); - let Some(script) = script else { return Ok(()); }; - invoke_script(script, &supplied_args, &package)?; + invoke_script(script, &self.args, &package)?; Ok(()) } From 0072ab234030a2a6d644d620ed87c46de6fa460d Mon Sep 17 00:00:00 2001 From: Metalit <48568911+Metalit@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:41:10 -0700 Subject: [PATCH 2/4] Remove long error --- src/commands/scripts.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/commands/scripts.rs b/src/commands/scripts.rs index 4f74945..5995093 100644 --- a/src/commands/scripts.rs +++ b/src/commands/scripts.rs @@ -92,7 +92,10 @@ pub fn invoke_script( c.env("ANDROID_NDK_HOME", path); } - c.spawn()?.wait()?.exit_ok()?; + let code = c.spawn()?.wait()?.code().unwrap_or_else(|| 1); + if code != 0 { + break; + } } Ok(()) } From 9d8c4082669f0bf15900c9b130fb1b474f990c92 Mon Sep 17 00:00:00 2001 From: Metalit <48568911+Metalit@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:57:02 -0700 Subject: [PATCH 3/4] Use exit for code --- src/commands/scripts.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands/scripts.rs b/src/commands/scripts.rs index 5995093..ce2c0ed 100644 --- a/src/commands/scripts.rs +++ b/src/commands/scripts.rs @@ -1,4 +1,4 @@ -use std::process::Stdio; +use std::process::{Stdio, exit}; use clap::Args; @@ -94,7 +94,7 @@ pub fn invoke_script( let code = c.spawn()?.wait()?.code().unwrap_or_else(|| 1); if code != 0 { - break; + exit(code); } } Ok(()) From d121d14adca2bc5615db3402820f62acbf94afbd Mon Sep 17 00:00:00 2001 From: Metalit <48568911+Metalit@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:57:19 -0700 Subject: [PATCH 4/4] Add flag (probably) needed to fix build --- src/lib.rs | 1 + src/main.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index b098f91..7bbc9b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,6 +3,7 @@ #![feature(exit_status_error)] #![feature(if_let_guard)] #![feature(path_add_extension)] +#![feature(path_is_empty)] #[cfg(feature = "cli")] pub mod commands; diff --git a/src/main.rs b/src/main.rs index ece5a9e..8e3cb18 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ #![feature(exit_status_error)] #![feature(if_let_guard)] #![feature(path_add_extension)] +#![feature(path_is_empty)] use std::io;