use std::process::Command;
fn main() {
println!("cargo:rerun-if-changed=.git/HEAD");
println!("cargo:rerun-if-changed=.git/refs/");
let version = git_version().unwrap_or_else(|| env!("CARGO_PKG_VERSION").to_string());
println!("cargo:rustc-env=GIT_VERSION={}", version);
}
fn git_version() -> Option<String> {
let output = Command::new("git")
.args(["describe", "--tags", "--dirty"])
.output()
.ok()?;
if !output.status.success() {
return None;
}
let version = String::from_utf8(output.stdout).ok()?;
let version = version.trim();
Some(version.strip_prefix('v').unwrap_or(version).to_string())
}