From a51622c3fbcca67cbfb9fb763840e1d15518c1ef Mon Sep 17 00:00:00 2001 From: Simon Littlejohns <39836665+simonljs@users.noreply.github.com> Date: Fri, 3 Aug 2018 11:29:09 +0100 Subject: [PATCH] Added commit hash to --version (#489) * Update config.rs * Update lib.rs --- substrate/substrate/cli/src/lib.rs | 6 ++++-- substrate/substrate/service/src/config.rs | 11 ++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/substrate/substrate/cli/src/lib.rs b/substrate/substrate/cli/src/lib.rs index 9b3c1ca44d..d3512a415f 100644 --- a/substrate/substrate/cli/src/lib.rs +++ b/substrate/substrate/cli/src/lib.rs @@ -44,7 +44,6 @@ extern crate exit_future; #[macro_use] extern crate lazy_static; -#[macro_use] extern crate clap; #[macro_use] extern crate error_chain; @@ -164,6 +163,9 @@ where { panic_hook::set(); + let full_version = service::Configuration::<::Configuration, ::Genesis> + ::full_version_from_strs(version.version, version.commit); + let yaml = format!(include_str!("./cli.yml"), name = version.executable_name, description = version.description, @@ -171,7 +173,7 @@ where ); let yaml = &clap::YamlLoader::load_from_str(&yaml).expect("Invalid yml file")[0]; let matches = match clap::App::from_yaml(yaml) - .version(&(crate_version!().to_owned() + "\n")[..]) + .version(&(full_version + "\n")[..]) .get_matches_from_safe(args) { Ok(m) => m, Err(e) => e.exit(), diff --git a/substrate/substrate/service/src/config.rs b/substrate/substrate/service/src/config.rs index 83f3887c5b..7a5696bc26 100644 --- a/substrate/substrate/service/src/config.rs +++ b/substrate/substrate/service/src/config.rs @@ -105,10 +105,15 @@ impl Configuration String { - let commit_dash = if self.impl_commit.is_empty() { "" } else { "-" }; - format!("{}{}{}-{}", self.impl_version, commit_dash, self.impl_commit, Self::platform()) + Self::full_version_from_strs(self.impl_version, self.impl_commit) + } + + /// Returns full version string, using supplied version and commit. + pub fn full_version_from_strs(impl_version: &str, impl_commit: &str) -> String { + let commit_dash = if impl_commit.is_empty() { "" } else { "-" }; + format!("{}{}{}-{}", impl_version, commit_dash, impl_commit, Self::platform()) } /// Implementation id and version.