From ee5af8d07625bfc7ad11b842b3941bb095aa6a6e Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Tue, 28 Dec 2021 19:28:19 +0100 Subject: implement build command --- planetwars-cli/src/commands/build.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 planetwars-cli/src/commands/build.rs (limited to 'planetwars-cli/src/commands/build.rs') diff --git a/planetwars-cli/src/commands/build.rs b/planetwars-cli/src/commands/build.rs new file mode 100644 index 0000000..1df0bb6 --- /dev/null +++ b/planetwars-cli/src/commands/build.rs @@ -0,0 +1,27 @@ +use clap::Parser; +use std::io; +use tokio::process; + +use crate::workspace::Workspace; + +#[derive(Parser)] +pub struct BuildCommand { + /// Name of the bot to build + bot: String, +} + +impl BuildCommand { + pub async fn run(self) -> io::Result<()> { + let workspace = Workspace::open_current_dir()?; + let bot = workspace.get_bot(&self.bot)?; + if let Some(argv) = bot.config.get_build_argv() { + process::Command::new(&argv[0]) + .args(&argv[1..]) + .current_dir(&bot.path) + .spawn()? + .wait() + .await?; + } + Ok(()) + } +} -- cgit v1.2.3