use crate::configure::create_writer; use crate::configure::rust::configure_rust_target; use crate::ninja::{exec, exec_ninja}; use std::error::Error; use std::path::PathBuf; pub fn build_api(_: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("api", "dev", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["api".to_string()])?; Ok(()) } pub fn build_api_prod(_: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("api", "prod", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["api".to_string()])?; Ok(()) } pub fn run_api(args: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("api", "dev", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["api".to_string()])?; exec( root.join("target/debug/starkingdoms-api").to_str().unwrap(), &root.join("api"), args, )?; Ok(()) } pub fn run_api_prod(args: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("api", "prod", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["api".to_string()])?; exec( root.join("target/release/starkingdoms-api") .to_str() .unwrap(), &root.join("api"), args, )?; Ok(()) }