use std::process::Command;
fn main() {
let ts = chrono::Utc::now().to_rfc3339();
println!("cargo:rustc-env=BUILD_TIMESTAMP_UTC={ts}");
let profile = std::env::var("PROFILE").unwrap_or_else(|_| "unknown".into());
println!("cargo:rustc-env=BUILD_PROFILE={profile}");
let target = std::env::var("TARGET").unwrap_or_else(|_| "unknown".into());
println!("cargo:rustc-env=TARGET={target}");
if let Ok(output) = Command::new("git")
.args(["rev-parse", "--short", "HEAD"])
.output()
&& output.status.success()
{
let sha = String::from_utf8_lossy(&output.stdout).trim().to_string();
if !sha.is_empty() {
println!("cargo:rustc-env=GIT_SHA={sha}");
}
}
println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rerun-if-changed=.git/HEAD");
}