extern crate artifact_app;
extern crate error_chain;
use std::io;
use std::env;
use std::process;
use artifact_app::cmd;
fn main() {
let rc = match cmd::cmd(&mut io::stdout(), env::args()) {
Err(e) => {
use std::io::Write;
let stderr = &mut io::stderr();
let errmsg = "Error writing to stderr";
writeln!(stderr, "Encountered Error:\n").expect(errmsg);
let mut was_caused = false;
for e in e.iter().skip(1) {
was_caused = true;
writeln!(stderr, "## caused by: {}", e).expect(errmsg);
}
if was_caused {
println!("Error was:")
}
println!("{}", e);
1
}
Ok(()) => 0,
};
process::exit(rc)
}