1use std::{env, path::PathBuf};23use vergen::{ConstantsFlags, generate_cargo_keys};45const ERROR_MSG: &str = "Failed to generate metadata files";67fn main() {8 generate_cargo_keys(ConstantsFlags::SHA_SHORT).expect(ERROR_MSG);910 let mut manifest_dir = PathBuf::from(11 env::var("CARGO_MANIFEST_DIR").expect("`CARGO_MANIFEST_DIR` is always set by cargo.")12 );1314 while manifest_dir.parent().is_some() {15 if manifest_dir.join(".git/HEAD").exists() {16 println!("cargo:rerun-if-changed={}", manifest_dir.join(".git/HEAD").display());17 return18 }1920 manifest_dir.pop();21 }2223 println!("cargo:warning=Could not find `.git/HEAD` from manifest dir!");24}