A library for writing host-specific, single-binary configuration management and deployment tools
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 lines
344 B

  1. use std::process::exit;
  2. use std::env;
  3. pub fn schematics_main(run: &Fn (bool) -> Result<(), ()>) {
  4. let args: Vec<String> = env::args().collect();
  5. let dry_run = match args.len() {
  6. 1 => false,
  7. 2 => if args[1] == "--dry-run" { true } else { panic!() },
  8. _ => panic!()
  9. };
  10. exit(match run(dry_run) { Ok(_) => 0, Err(_) => 1 });
  11. }