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 +++++ mumd/build.rs | 25 +++++++++++++++++++++++++ mumd/src/main.rs | 5 +++++ 4 files changed, 60 insertions(+) create mode 100644 mumctl/build.rs create mode 100644 mumd/build.rs 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(); 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 From 6aa40e1e96a6c3f0aabdf438f5d260edfa559b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sat, 16 Jan 2021 02:57:39 +0100 Subject: update changelog --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 060890f..7ae6e9d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -20,6 +20,7 @@ Added * Added a noise gate * Added tunneling audio through TCP if UDP connection goes down +* --version now includes the current commit hash. // Changed // ~~~~~~~ -- 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 +++------- mumd/build.rs | 10 +++------- 2 files changed, 6 insertions(+), 14 deletions(-) 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()) } diff --git a/mumd/build.rs b/mumd/build.rs index 45cfd4e..f09b1c4 100644 --- a/mumd/build.rs +++ b/mumd/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(-) 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 +++++++------- mumd/build.rs | 15 +++++++-------- mumd/src/main.rs | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) 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()) diff --git a/mumd/build.rs b/mumd/build.rs index f09b1c4..78f279f 100644 --- a/mumd/build.rs +++ b/mumd/build.rs @@ -1,20 +1,19 @@ use std::process::Command; fn main() { - let version = format!( - "{} {}-{}", - env!("CARGO_PKG_NAME"), - 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()) diff --git a/mumd/src/main.rs b/mumd/src/main.rs index e7b4bec..7c3745c 100644 --- a/mumd/src/main.rs +++ b/mumd/src/main.rs @@ -16,7 +16,7 @@ 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")); + println!("mumd {}", env!("VERSION")); return; } -- 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 +-- mumd/build.rs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) 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(), }; diff --git a/mumd/build.rs b/mumd/build.rs index 78f279f..0a4f506 100644 --- a/mumd/build.rs +++ b/mumd/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