diff --git a/src/build.rs b/src/build.rs index 3a8149e..bbbd4e0 100644 --- a/src/build.rs +++ b/src/build.rs @@ -1,3 +1,19 @@ +use std::process::Command; +use std::env; + fn main() { println!("cargo:rerun-if-changed=migrations"); + println!("cargo:rerun-if-changed=.git"); + + if env::var("GIT_REV").is_err() { + let git_rev: String = Command::new("git") + .args(["rev-parse", "HEAD"]) + .output() + .expect("Failed to run git rev-parse") + .stdout + .try_into() + .expect("Failed to parse output from git"); + + println!("cargo:rustc-env=GIT_REV={git_rev}"); + } }