From dfe231a2b03efa31ae4ff9a43e469144560eec8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sat, 16 Jan 2021 02:56:15 +0100 Subject: add a --version that includes commit hash to mum{ctl,d} --- mumd/build.rs | 25 +++++++++++++++++++++++++ mumd/src/main.rs | 5 +++++ 2 files changed, 30 insertions(+) create mode 100644 mumd/build.rs (limited to 'mumd') diff --git a/mumd/build.rs b/mumd/build.rs new file mode 100644 index 0000000..45cfd4e --- /dev/null +++ b/mumd/build.rs @@ -0,0 +1,25 @@ +use std::process::Command; + +fn main() { + let version = format!( + "{} {}-{}", + env!("CARGO_PKG_NAME"), + env!("CARGO_PKG_VERSION"), + commit_hash(), + ); + + println!("cargo:rustc-env=VERSION={}", version); +} + +fn commit_hash() -> String { + let output = Command::new("git") + .arg("show") + .arg("--pretty=format:%h") // abbrev hash + .current_dir(env!("CARGO_MANIFEST_DIR")) + .output(); + if let Ok(output) = output { + String::from_utf8_lossy(&output.stdout).to_string() + } else { + String::from("???") + } +} diff --git a/mumd/src/main.rs b/mumd/src/main.rs index 0526930..e7b4bec 100644 --- a/mumd/src/main.rs +++ b/mumd/src/main.rs @@ -15,6 +15,11 @@ use tokio::task::spawn_blocking; #[tokio::main] async fn main() { + if std::env::args().find(|s| s.as_str() == "--version").is_some() { + println!(env!("VERSION")); + return; + } + setup_logger(std::io::stderr(), true); notify::init(); -- cgit v1.2.1