fn main() { // Commit-Stempel zur Kompilierzeit einbetten (WR-02, Code-Review Phase 18): // `desktop-collect.sh` vergibt fuer den Beta-Kanal (main) jedem Commit // dieselbe X.Y.Z-Version (D-07) -- die Unterscheidung zwischen zwei // Beta-Bauten steckt nur im `commit`-Feld von manifest.json. Ohne einen // eigenen Commit-Stempel im Binary kann `lib.rs` diesen Fall nicht // erkennen. `--short=7` spiegelt exakt das Format, das // `desktop-collect.sh` fuer manifest.json schreibt. Fehlt `git` (z. B. // Quell-Tarball ohne .git-Ordner), bleibt der Wert leer -- dann greift // nur noch der reine Versionsvergleich. let commit = std::process::Command::new("git") .args(["rev-parse", "--short=7", "HEAD"]) .output() .ok() .filter(|output| output.status.success()) .and_then(|output| String::from_utf8(output.stdout).ok()) .map(|s| s.trim().to_string()) .unwrap_or_default(); println!("cargo:rustc-env=APP_COMMIT={commit}"); tauri_build::build() }