26 lines
1.1 KiB
Rust
26 lines
1.1 KiB
Rust
use std::process::Command;
|
|
|
|
fn main() {
|
|
// Build identity used to decide whether a bridge already holding :14168 belongs to THIS
|
|
// build. commit hash + build timestamp → distinct on every build, even when the human
|
|
// version in tauri.conf.json is unchanged (so same-version re-publishes still take over
|
|
// a stale bridge). The bridge reports this back via GET /services/identity.
|
|
let commit = Command::new("git")
|
|
.args(["rev-parse", "--short", "HEAD"])
|
|
.output()
|
|
.ok()
|
|
.filter(|o| o.status.success())
|
|
.map(|o| String::from_utf8_lossy(&o.stdout).trim().to_string())
|
|
.filter(|s| !s.is_empty())
|
|
.unwrap_or_else(|| "nogit".to_string());
|
|
let stamp = std::time::SystemTime::now()
|
|
.duration_since(std::time::UNIX_EPOCH)
|
|
.map(|d| d.as_secs())
|
|
.unwrap_or(0);
|
|
println!("cargo:rustc-env=GA_BUILD_ID={}-{}", commit, stamp);
|
|
// Re-run when the checked-out commit changes so the id stays fresh.
|
|
println!("cargo:rerun-if-changed=../../../.git/HEAD");
|
|
|
|
tauri_build::build()
|
|
}
|