diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..63ac78b --- /dev/null +++ b/build.rs @@ -0,0 +1,7 @@ +use std::process::Command; +fn main() { + // note: add error checking yourself. + let output = Command::new("git").args(&["rev-parse", "HEAD"]).output().unwrap(); + let git_hash = String::from_utf8(output.stdout).unwrap(); + println!("cargo:rustc-env=GIT_HASH={}", git_hash); +} diff --git a/src/main.rs b/src/main.rs index ec168ab..62f6d6a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,14 +14,15 @@ use argparse::{ArgumentParser, StoreTrue, Store}; use rust_util::*; const VERSION: &str = env!("CARGO_PKG_VERSION"); +const GIT_HASH: &str = env!("GIT_HASH"); fn print_version() { - print!(r#"finding {} + print!(r#"finding {} - {} Copyright (C) 2019 Hatter Jiang. License MIT Written by Hatter Jiang -"#, VERSION); +"#, VERSION, &GIT_HASH[0..7]); } fn get_term_width() -> Option {