diff --git a/xtask/src/main.rs b/xtask/src/main.rs index fb384f3..a55d55e 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -22,7 +22,7 @@ pub enum Commands { CheckApiRefs, Orcx { #[arg(trailing_var_arg = true, num_args = 1..)] - subcommand: Vec, + orcx_argv: Vec, }, } @@ -32,7 +32,7 @@ fn main() -> io::Result { let args = Args::parse(); match &args.command { Commands::CheckApiRefs => check_api_refs(&args)?, - Commands::Orcx { subcommand } => orcx(&args, subcommand)?, + Commands::Orcx { orcx_argv } => orcx(&args, orcx_argv)?, } Ok(if EXIT_OK.load(Ordering::Relaxed) { ExitCode::SUCCESS } else { ExitCode::FAILURE }) } diff --git a/xtask/src/orcx.rs b/xtask/src/orcx.rs index 25e8904..0635b8b 100644 --- a/xtask/src/orcx.rs +++ b/xtask/src/orcx.rs @@ -4,14 +4,13 @@ use std::sync::atomic::Ordering; use crate::{Args, EXIT_OK}; -pub fn orcx(_args: &Args, subcommand: &[String]) -> io::Result<()> { - eprintln!("running orcx {}", subcommand.join(" ")); +pub fn orcx(_args: &Args, argv: &[String]) -> io::Result<()> { if !Command::new("cargo").args(["build", "-p", "orchid-std"]).status()?.success() { EXIT_OK.store(false, Ordering::Relaxed); return Ok(()); } let status = Command::new("cargo") - .args(["run", "-p", "orcx", "--"].into_iter().chain(subcommand.iter().map(|s| s.as_str()))) + .args("run -p orcx --".split(' ').chain(argv.iter().map(|s| s.as_str()))) .status()?; EXIT_OK.store(status.success(), Ordering::Relaxed); Ok(())