| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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(())
- }
|