Fix vergen generation

This commit is contained in:
Jeremy Soller 2025-03-25 15:13:50 -06:00
parent 3236f3ec31
commit 535b8080f7
No known key found for this signature in database
GPG key ID: 670FDFB5428E05CA
2 changed files with 31 additions and 8 deletions

View file

@ -1,5 +1,17 @@
use vergen::EmitBuilder; fn main() -> Result<(), Box<dyn std::error::Error>> {
// Rebuild if i18n files change
println!("cargo:rerun-if-changed=i18n");
fn main() { // Emit version information (if not cached by just vendor)
EmitBuilder::builder().git_sha(true).emit().unwrap(); let mut vergen = vergen::EmitBuilder::builder();
println!("cargo:rerun-if-env-changed=VERGEN_GIT_COMMIT_DATE");
if std::env::var_os("VERGEN_GIT_COMMIT_DATE").is_none() {
vergen.git_commit_date();
}
println!("cargo:rerun-if-env-changed=VERGEN_GIT_SHA");
if std::env::var_os("VERGEN_GIT_SHA").is_none() {
vergen.git_sha(false);
}
vergen.fail_on_error().emit()?;
Ok(())
} }

View file

@ -82,12 +82,23 @@ uninstall:
# Vendor dependencies locally # Vendor dependencies locally
vendor: vendor:
#!/usr/bin/env bash
mkdir -p .cargo mkdir -p .cargo
cargo vendor --sync Cargo.toml \ cargo vendor --sync Cargo.toml | head -n -1 > .cargo/config.toml
| head -n -1 > .cargo/config echo 'directory = "vendor"' >> .cargo/config.toml
echo 'directory = "vendor"' >> .cargo/config echo >> .cargo/config.toml
tar pcf vendor.tar vendor echo '[env]' >> .cargo/config.toml
rm -rf vendor if [ -n "${SOURCE_DATE_EPOCH}" ]
then
source_date="$(date -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%d")"
echo "VERGEN_GIT_COMMIT_DATE = \"${source_date}\"" >> .cargo/config.toml
fi
if [ -n "${SOURCE_GIT_HASH}" ]
then
echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml
fi
tar pcf vendor.tar .cargo vendor
rm -rf .cargo vendor
# Extracts vendored dependencies # Extracts vendored dependencies
vendor-extract: vendor-extract: