From e72bfeeb369bcae5ea4c4493d027f0b0ec2b7632 Mon Sep 17 00:00:00 2001 From: quietvoid Date: Sun, 4 Aug 2024 10:36:59 -0400 Subject: [PATCH] Fix version without git --- build.rs | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/build.rs b/build.rs index ac62f03..fd6e386 100644 --- a/build.rs +++ b/build.rs @@ -1,24 +1,21 @@ use anyhow::Result; -use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder}; +use vergen_gitcl::{Emitter, GitclBuilder}; fn main() -> Result<()> { - let mut emitter = Emitter::default(); - - let gitcl_res = GitclBuilder::default() + let gitcl = GitclBuilder::default() .describe(true, true, Some("[0-9]*")) - .build(); + .build()?; - if let Ok(gitcl) = gitcl_res { - emitter.add_instructions(&gitcl)?; - } else { - let build = BuildBuilder::default() - .build() - .expect("non-git vergen should succeed"); - emitter.add_instructions(&build)?; - } + let gitcl_res = Emitter::default() + .idempotent() + .fail_on_error() + .add_instructions(&gitcl) + .and_then(|emitter| emitter.emit()); - // Generate the instructions - emitter.emit()?; + if let Err(e) = gitcl_res { + eprintln!("error occured while generating instructions: {e:?}"); + Emitter::default().idempotent().fail_on_error().emit()?; + } Ok(()) }