ttpgen/
cli.rs

1use clap::Parser;
2
3/// Command-line interface for TTP Solution Generator.
4#[derive(Parser, Debug)]
5#[command(name = "ttpgen", version = "1.01", about = "Generates TTP schedules")]
6pub struct Cli {
7    /// Path to the XML instance file
8    #[arg(long = "input")]
9    pub input: String,
10
11    /// Directory to save generated solutions
12    #[arg(long = "output-solutions", default_value = "solutions_output")]
13    pub output_solutions: String,
14
15    /// Directory to save generated permutations
16    #[arg(long = "output-permutations", default_value = "perms_output")]
17    pub output_permutations: String,
18
19    /// Number of random permutations to generate
20    #[arg(long = "permutations", default_value_t = 10)]
21    pub permutations: i32,
22
23    /// Random seed for reproducibility
24    #[arg(long = "seed", default_value_t = 42)]
25    pub seed: u64,
26
27    /// Disable saving to disk
28    #[arg(long = "save", default_value_t = false)]
29    pub save: bool,
30
31    /// Enable or disable logging
32    #[arg(long = "log", default_value_t = false)]
33    pub log_enabled: bool,
34}