use std::error::Error;
use std::path::PathBuf;
use crate::configure::create_writer;
use crate::configure::rust::configure_rust_target;
use crate::ninja::{exec, exec_ninja};
pub fn build_server(_: Vec<String>, root: PathBuf) -> Result<(), Box<dyn Error>> {
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<String>, root: PathBuf) -> Result<(), Box<dyn Error>> {
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<String>, root: PathBuf) -> Result<(), Box<dyn Error>> {
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<String>, root: PathBuf) -> Result<(), Box<dyn Error>> {
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(())
}