sys-compare/src/main.rs

50 lines
1.3 KiB
Rust
Raw Normal View History

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-29 04:18:38 +00:00
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};
2024-03-29 04:18:38 +00:00
use crate::comparemode::CompareMode;
use crate::createmode::CreateMode;
2024-03-28 23:05:09 +00:00
use crate::options::{Arguments, Commands};
2024-03-29 04:18:38 +00:00
use crate::syscompare::Comparer;
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-29 04:18:38 +00:00
let movable = options.clone();
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-29 04:18:38 +00:00
None => {}
2024-03-28 23:05:09 +00:00
Some(Commands::Create { root_dir, output_path }) => {
2024-03-29 04:18:38 +00:00
let mut create =
CreateMode::new(output_path, root_dir);
println!("Creating snapshot..");
create.run()
2024-03-28 23:05:09 +00:00
},
2024-03-29 04:18:38 +00:00
Some(Commands::Compare { left, right, selection }) => {
println!("Running snapshot comparison..");
let mut compare = CompareMode::new(movable.clone(), left, right, selection);
compare.run()
2024-03-18 20:38:10 +00:00
}
};
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() {
//
//
// }
// }