瀏覽代碼

fix: update build script for using vergen without a git repo

A fallback mechanism has been added to build script for letting
vergen generate cargo instructions even if not run in a git
repository. In such cases, a default vergen configuration is
used along with disabled "git" feature thus not generating any
git-related environment variables.

Signed-off-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Orhun Parmaksız 4 年之前
父節點
當前提交
bb26e2cd36
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      build.rs

+ 8 - 2
build.rs

@@ -7,7 +7,13 @@ fn main() -> Result<()> {
     *config.git_mut().semver_kind_mut() = SemverKind::Lightweight;
     *config.git_mut().semver_kind_mut() = SemverKind::Lightweight;
     // Add a `-dirty` flag to the SEMVER output
     // Add a `-dirty` flag to the SEMVER output
     *config.git_mut().semver_dirty_mut() = Some("-dirty");
     *config.git_mut().semver_dirty_mut() = Some("-dirty");
-
     // Generate the instructions
     // Generate the instructions
-    vergen(config)
+    if let Err(e) = vergen(config) {
+        eprintln!("error occurred while generating instructions: {:?}", e);
+        let mut config = Config::default();
+        *config.git_mut().enabled_mut() = false;
+        vergen(config)
+    } else {
+        Ok(())
+    }
 }
 }