diff --git a/planetwars-cli/src/commands/run_match.rs b/planetwars-cli/src/commands/run_match.rs index 5b7a3ec..6341b31 100644 --- a/planetwars-cli/src/commands/run_match.rs +++ b/planetwars-cli/src/commands/run_match.rs @@ -16,8 +16,8 @@ pub struct RunMatchCommand { impl RunMatchCommand { pub async fn run(self) -> io::Result<()> { let workspace = Workspace::open_current_dir()?; - let map_path = workspace.maps_dir().join(format!("{}.json", &self.map)); + let map_path = workspace.map_path(&self.map); let timestamp = chrono::Local::now().format("%Y-%m-%d-%H-%M-%S"); let log_path = workspace.match_path(&format!("{}-{}", &self.map, ×tamp)); @@ -33,15 +33,14 @@ impl RunMatchCommand { let match_config = MatchConfig { map_name: self.map, map_path, - log_path, + log_path: log_path.clone(), players, }; match_runner::run_match(match_config).await; println!("match completed successfully"); - // TODO: don't hardcode match path. - // maybe print the match result as well? - println!("wrote match log to matches/{}.log", timestamp); + // TODO: maybe print the match result as well? + println!("wrote match log to {}", log_path.to_str().unwrap()); Ok(()) } } diff --git a/planetwars-cli/src/workspace/bot.rs b/planetwars-cli/src/workspace/bot.rs index 3cd4f87..cc88076 100644 --- a/planetwars-cli/src/workspace/bot.rs +++ b/planetwars-cli/src/workspace/bot.rs @@ -29,6 +29,7 @@ impl WorkspaceBot { pub struct BotConfig { pub name: String, pub run_command: String, + pub build_command: Option, } impl BotConfig { diff --git a/planetwars-cli/src/workspace/mod.rs b/planetwars-cli/src/workspace/mod.rs index 64777c2..5a1a4ae 100644 --- a/planetwars-cli/src/workspace/mod.rs +++ b/planetwars-cli/src/workspace/mod.rs @@ -12,8 +12,8 @@ const WORKSPACE_CONFIG_FILENAME: &str = "pw_workspace.toml"; pub mod bot; pub struct Workspace { - root_path: PathBuf, - config: WorkspaceConfig, + pub root_path: PathBuf, + pub config: WorkspaceConfig, } #[derive(Serialize, Deserialize, Debug)]