use std::process::Command;
fn main() {
if let Ok(tag) = Command::new("git").args(["tag", "--points-at"]).output()
&& tag.status.success()
&& !tag.stdout.is_empty()
{
write_to_out(&tag.stdout)
} else if let Ok(commit_hash) = Command::new("git").args(["rev-parse", "HEAD"]).output()
&& commit_hash.status.success()
&& !commit_hash.stdout.is_empty()
{
write_to_out(&commit_hash.stdout)
} else {
write_to_out(b"master")
}
}
fn write_to_out(v: &[u8]) {
let out = String::from_utf8_lossy(v);
println!("cargo::rustc-env=SUBXT_REF={out}");
println!("cargo::rerun-if-env-changed=SUBXT_REF");
}