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} --- mumctl/build.rs | 25 +++++++++++++++++++++++++ mumctl/src/main.rs | 5 +++++ 2 files changed, 30 insertions(+) create mode 100644 mumctl/build.rs (limited to 'mumctl') diff --git a/mumctl/build.rs b/mumctl/build.rs new file mode 100644 index 0000000..45cfd4e --- /dev/null +++ b/mumctl/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/mumctl/src/main.rs b/mumctl/src/main.rs index d43ff4f..12de262 100644 --- a/mumctl/src/main.rs +++ b/mumctl/src/main.rs @@ -47,6 +47,11 @@ impl log::Log for SimpleLogger { static LOGGER: SimpleLogger = SimpleLogger; fn main() { + if std::env::args().find(|s| s.as_str() == "--version").is_some() { + println!(env!("VERSION")); + return; + } + log::set_logger(&LOGGER) .map(|()| log::set_max_level(LevelFilter::Info)).unwrap(); let mut config = config::read_default_cfg(); -- cgit v1.2.1 From abbea6a4a20ed1562d99ce5942154352bc545eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sun, 21 Mar 2021 14:59:03 +0100 Subject: commit_hash returns option instead --- mumctl/build.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'mumctl') diff --git a/mumctl/build.rs b/mumctl/build.rs index 45cfd4e..f09b1c4 100644 --- a/mumctl/build.rs +++ b/mumctl/build.rs @@ -5,21 +5,17 @@ fn main() { "{} {}-{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), - commit_hash(), + commit_hash().unwrap_or_else(|| "???".to_string()), ); println!("cargo:rustc-env=VERSION={}", version); } -fn commit_hash() -> String { +fn commit_hash() -> Option { 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("???") - } + output.ok().map(|o| String::from_utf8_lossy(&o.stdout).to_string()) } -- cgit v1.2.1 From f4f9df5ab9cc40c11164e7e696ed3a60dc7b8e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sun, 21 Mar 2021 15:01:18 +0100 Subject: mumctl uses clap's App::version() --- mumctl/build.rs | 3 +-- mumctl/src/main.rs | 6 +----- 2 files changed, 2 insertions(+), 7 deletions(-) (limited to 'mumctl') diff --git a/mumctl/build.rs b/mumctl/build.rs index f09b1c4..6ac9329 100644 --- a/mumctl/build.rs +++ b/mumctl/build.rs @@ -2,8 +2,7 @@ use std::process::Command; fn main() { let version = format!( - "{} {}-{}", - env!("CARGO_PKG_NAME"), + "{}-{}", env!("CARGO_PKG_VERSION"), commit_hash().unwrap_or_else(|| "???".to_string()), ); diff --git a/mumctl/src/main.rs b/mumctl/src/main.rs index 12de262..d07a482 100644 --- a/mumctl/src/main.rs +++ b/mumctl/src/main.rs @@ -47,17 +47,13 @@ impl log::Log for SimpleLogger { static LOGGER: SimpleLogger = SimpleLogger; fn main() { - if std::env::args().find(|s| s.as_str() == "--version").is_some() { - println!(env!("VERSION")); - return; - } - log::set_logger(&LOGGER) .map(|()| log::set_max_level(LevelFilter::Info)).unwrap(); let mut config = config::read_default_cfg(); let mut app = App::new("mumctl") .setting(AppSettings::ArgRequiredElseHelp) + .version(env!("VERSION")) .subcommand( SubCommand::with_name("connect") .about("Connect to a server") -- cgit v1.2.1 From f9d1f57e2df87ebfaecccdad230feadc1dffd609 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Sun, 21 Mar 2021 21:54:35 +0100 Subject: made more consistent output without git --- mumctl/build.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'mumctl') diff --git a/mumctl/build.rs b/mumctl/build.rs index 6ac9329..78f279f 100644 --- a/mumctl/build.rs +++ b/mumctl/build.rs @@ -1,19 +1,19 @@ use std::process::Command; fn main() { - let version = format!( - "{}-{}", - env!("CARGO_PKG_VERSION"), - commit_hash().unwrap_or_else(|| "???".to_string()), - ); + let maybe_hash = commit_hash(); + let version = match maybe_hash.as_deref() { + None | Some("") => format!("v{}", env!("CARGO_PKG_VERSION")), + Some(version) => version.to_string(), + }; println!("cargo:rustc-env=VERSION={}", version); } fn commit_hash() -> Option { let output = Command::new("git") - .arg("show") - .arg("--pretty=format:%h") // abbrev hash + .arg("describe") + .arg("--tags") .current_dir(env!("CARGO_MANIFEST_DIR")) .output(); output.ok().map(|o| String::from_utf8_lossy(&o.stdout).to_string()) -- cgit v1.2.1 From a8e24b8f92e23bb8c64d8056ac1a5d882cb94de2 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Mon, 22 Mar 2021 00:20:33 +0100 Subject: inline variable --- mumctl/build.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'mumctl') diff --git a/mumctl/build.rs b/mumctl/build.rs index 78f279f..0a4f506 100644 --- a/mumctl/build.rs +++ b/mumctl/build.rs @@ -1,8 +1,7 @@ use std::process::Command; fn main() { - let maybe_hash = commit_hash(); - let version = match maybe_hash.as_deref() { + let version = match commit_hash().as_deref() { None | Some("") => format!("v{}", env!("CARGO_PKG_VERSION")), Some(version) => version.to_string(), }; -- cgit v1.2.1