sys-compare/src/main.rs

52 lines
1.2 KiB
Rust
Raw Normal View History

2024-03-18 20:38:10 +00:00
pub mod syscompare;
2024-03-18 22:20:57 +00:00
pub mod createmode;
pub mod comparemode;
2024-03-18 20:38:10 +00:00
use std::env::args;
2024-03-25 20:49:12 +00:00
use std::process::exit;
2024-03-18 21:36:14 +00:00
use crate::syscompare::{SysCompareApp};
2024-03-18 22:28:33 +00:00
use crate::syscompare::SysCompareMode::{Compare, Create};
2024-03-18 20:38:10 +00:00
2024-03-18 19:33:42 +00:00
fn main() {
2024-03-18 20:38:10 +00:00
let args: Vec<String> = args().collect();
2024-03-25 20:49:12 +00:00
// println!("{:#?}", args); // testing
2024-03-18 20:38:10 +00:00
let app = match args.get(1) {
None => {
2024-03-25 20:49:12 +00:00
print_help();
exit(0);
2024-03-18 20:38:10 +00:00
}
Some(mode) => {
2024-03-18 21:36:14 +00:00
// app mode
2024-03-18 20:38:10 +00:00
let m = mode.as_str();
let app_mode = match m {
2024-03-18 21:46:19 +00:00
"create" => { Create },
"compare" => { Compare },
2024-03-25 20:49:12 +00:00
_ => {
println!("Invalid MODE argument");
print_help();
exit(0);
}
2024-03-18 20:38:10 +00:00
};
2024-03-18 21:36:14 +00:00
SysCompareApp::new(app_mode, args)
2024-03-18 20:38:10 +00:00
}
};
2024-03-18 21:36:14 +00:00
app.run()
2024-03-18 19:33:42 +00:00
}
2024-03-21 21:24:08 +00:00
2024-03-25 20:49:12 +00:00
pub fn print_help() {
println!("### Create Snapshot\n## ./sys-compare create [snapshot] [root_dir]");
println!("### Compare Snapshots\n## ./sys-compare compare [.snap] [.snap] [created]|[deleted]|[changed]");
}
2024-03-21 21:24:08 +00:00
// #[cfg(test)]
// mod tests {
// #[test]
// fn test() {
//
//
// }
// }