use anyhow::Result; use vergen_gitcl::{BuildBuilder, CargoBuilder, Emitter, GitclBuilder}; fn main() -> Result<()> { // Manually define compile time env vars that were auto // generated by earlier versions of vergen. println!( "cargo:rustc-env=VERGEN_BUILD_SEMVER={}", env!("CARGO_PKG_VERSION") ); println!( "cargo:rustc-env=VERGEN_CARGO_PROFILE={}", std::env::var("PROFILE").unwrap() ); let build = BuildBuilder::all_build()?; let cargo = CargoBuilder::all_cargo()?; let mut emitter = Emitter::default(); emitter.add_instructions(&build)?; emitter.add_instructions(&cargo)?; match GitclBuilder::default() .describe(true, true, None) .sha(false) .commit_timestamp(true) .branch(true) .build() { Ok(git) => { emitter.add_instructions(&git)?; } Err(e) => { println!("cargo:warning=vergen-gitcl failed, building without git info: {e}"); } } emitter.emit()?; Ok(()) }