use std::{env, fs::File, io::Write, process::Command}; fn main() { let out_dir = env::var("OUT_DIR").unwrap(); let mut f = File::create(format!("{}/built.rs", out_dir)).unwrap(); let commit_hash = Command::new("git") .args(["rev-parse", "HEAD"]) .output() .ok() .and_then(|o| String::from_utf8(o.stdout).ok()) .unwrap_or_else(|| "unknown".into()); writeln!(f, "#[allow(dead_code)]").unwrap(); writeln!( f, "pub const GIT_COMMIT_HASH: &str = \"{}\";", commit_hash.trim() ) .unwrap(); }