2024-03-18 22:20:57 +00:00
|
|
|
pub mod comparemode;
|
2024-03-26 17:14:24 +00:00
|
|
|
pub mod createmode;
|
|
|
|
pub mod syscompare;
|
2024-03-28 23:05:09 +00:00
|
|
|
mod options;
|
2024-03-18 20:38:10 +00:00
|
|
|
|
2024-03-26 17:14:24 +00:00
|
|
|
use crate::syscompare::SysCompareApp;
|
|
|
|
use crate::syscompare::SysCompareMode::{Compare, Create};
|
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-28 23:05:09 +00:00
|
|
|
use clap::{FromArgMatches, Parser};
|
|
|
|
use crate::options::{Arguments, Commands};
|
2024-03-18 20:38:10 +00:00
|
|
|
|
2024-03-18 19:33:42 +00:00
|
|
|
fn main() {
|
2024-03-28 23:05:09 +00:00
|
|
|
let options = Arguments::parse();
|
|
|
|
|
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
|
|
|
|
2024-03-28 23:05:09 +00:00
|
|
|
let app = match options.command {
|
2024-03-18 20:38:10 +00:00
|
|
|
None => {
|
2024-03-25 20:49:12 +00:00
|
|
|
print_help();
|
|
|
|
exit(0);
|
2024-03-18 20:38:10 +00:00
|
|
|
}
|
2024-03-28 23:05:09 +00:00
|
|
|
Some(Commands::Create { root_dir, output_path }) => {
|
2024-03-18 21:36:14 +00:00
|
|
|
// app mode
|
2024-03-28 23:05:09 +00:00
|
|
|
|
|
|
|
// let app_mode = match m {
|
|
|
|
// "create" => Create,
|
|
|
|
// "compare" => Compare,
|
|
|
|
// _ => {
|
|
|
|
// println!("Invalid MODE argument");
|
|
|
|
// print_help();
|
|
|
|
// exit(0);
|
|
|
|
// }
|
|
|
|
// };
|
|
|
|
|
|
|
|
SysCompareApp::new(Create, args)
|
|
|
|
},
|
|
|
|
Some(Commands::Compare { left, right }) => {
|
|
|
|
SysCompareApp::new(Compare, 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() {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
// }
|