use shadow-rs instead of executing git describe

this removes git from the build dependencies
This commit is contained in:
Ferdinand Schober
2025-01-27 13:15:02 +01:00
parent beb656e29f
commit a2fe5fa892
4 changed files with 303 additions and 18 deletions

View File

@@ -1,20 +1,8 @@
use std::process::Command;
use shadow_rs::ShadowBuilder;
fn main() {
// commit hash
let git_describe = Command::new("git")
.arg("describe")
.arg("--always")
.arg("--dirty")
.arg("--tags")
.output()
.map(|output| String::from_utf8(output.stdout).ok())
.ok()
.flatten()
.unwrap_or_else(|| {
println!("cargo:warning=Failed to get git describe");
String::from("unknown")
});
let git_describe = git_describe.trim().to_string();
println!("cargo::rustc-env=GIT_DESCRIBE={git_describe}");
ShadowBuilder::builder()
.deny_const(Default::default())
.build()
.expect("shadow build");
}