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_server(_: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("server", "dev", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["server".to_string()])?; Ok(()) } pub fn build_server_prod(_: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("server", "prod", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["server".to_string()])?; Ok(()) } pub fn run_server(args: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("server", "dev", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["server".to_string()])?; exec( root.join("target/debug/starkingdoms-server") .to_str() .unwrap(), &root, args, )?; Ok(()) } pub fn run_server_prod(args: Vec, root: PathBuf) -> Result<(), Box> { let mut config_file_writer = create_writer(&root)?; configure_rust_target("server", "prod", &mut config_file_writer, &root)?; exec_ninja(&root, vec!["server".to_string()])?; exec( root.join("target/release/starkingdoms-server") .to_str() .unwrap(), &root, args, )?; Ok(()) }