use {
git2::Repository,
vergen::{generate_cargo_keys, ConstantsFlags},
};
fn main() {
let cwd = std::env::current_dir().expect("could not obtain current directory");
let git_commit = if let Ok(repo) = Repository::discover(&cwd) {
if let Ok(head_ref) = repo.head() {
if let Ok(commit) = head_ref.peel_to_commit() {
Some(format!("{}", commit.id()))
} else {
None
}
} else {
None
}
} else {
None
};
println!(
"cargo:rustc-env=GIT_COMMIT={}",
match git_commit {
Some(commit) => commit,
None => "UNKNOWN".to_string(),
}
);
generate_cargo_keys(ConstantsFlags::all()).expect("error running vergen");
println!(
"cargo:rustc-env=HOST={}",
std::env::var("HOST").expect("HOST not set")
);
}