123456789101112131415161718192021222324 |
- use std::process::{Command, ExitStatus, Output};
- #[cfg(not(target_os = "windows"))]
- use std::os::unix::process::ExitStatusExt;
- #[cfg(target_os = "windows")]
- use std::os::windows::process::ExitStatusExt;
- fn main() {
- let output = String::from_utf8(
- Command::new("git")
- .args(["rev-parse", "HEAD"])
- .output()
- .unwrap_or(Output {
- stdout: vec![],
- stderr: vec![],
- status: ExitStatus::from_raw(0),
- })
- .stdout,
- )
- .unwrap_or_default();
- let git_hash = if output == String::default() { "dev".into() } else { output };
- println!("cargo:rustc-env=GIT_HASH={git_hash}");
- }
|