|
|
@@ -1,4 +1,5 @@
|
|
|
use clap::{AppSettings, ArgGroup, Parser};
|
|
|
+use lazy_static::lazy_static;
|
|
|
|
|
|
#[derive(clap::ArgEnum, Clone, Debug, Copy)]
|
|
|
pub enum KeypairType {
|
|
|
@@ -6,32 +7,40 @@ pub enum KeypairType {
|
|
|
X448,
|
|
|
}
|
|
|
|
|
|
-const LONG_VERSION: &str = const_format::formatcp!(
|
|
|
- "
|
|
|
+lazy_static! {
|
|
|
+ static ref VERSION: &'static str = {
|
|
|
+ match option_env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT") {
|
|
|
+ Some(v) => v,
|
|
|
+ None => env!("VERGEN_BUILD_SEMVER"),
|
|
|
+ }
|
|
|
+ };
|
|
|
+ static ref LONG_VERSION: String = format!(
|
|
|
+ "
|
|
|
Build Timestamp: {}
|
|
|
Build Version: {}
|
|
|
-Commit SHA: {}
|
|
|
-Commit Date: {}
|
|
|
-Commit Branch: {}
|
|
|
+Commit SHA: {:?}
|
|
|
+Commit Date: {:?}
|
|
|
+Commit Branch: {:?}
|
|
|
cargo Target Triple: {}
|
|
|
cargo Profile: {}
|
|
|
cargo Features: {}
|
|
|
",
|
|
|
- env!("VERGEN_BUILD_TIMESTAMP"),
|
|
|
- env!("VERGEN_BUILD_SEMVER"),
|
|
|
- env!("VERGEN_GIT_SHA"),
|
|
|
- env!("VERGEN_GIT_COMMIT_TIMESTAMP"),
|
|
|
- env!("VERGEN_GIT_BRANCH"),
|
|
|
- env!("VERGEN_CARGO_TARGET_TRIPLE"),
|
|
|
- env!("VERGEN_CARGO_PROFILE"),
|
|
|
- env!("VERGEN_CARGO_FEATURES")
|
|
|
-);
|
|
|
+ env!("VERGEN_BUILD_TIMESTAMP"),
|
|
|
+ env!("VERGEN_BUILD_SEMVER"),
|
|
|
+ option_env!("VERGEN_GIT_SHA"),
|
|
|
+ option_env!("VERGEN_GIT_COMMIT_TIMESTAMP"),
|
|
|
+ option_env!("VERGEN_GIT_BRANCH"),
|
|
|
+ env!("VERGEN_CARGO_TARGET_TRIPLE"),
|
|
|
+ env!("VERGEN_CARGO_PROFILE"),
|
|
|
+ env!("VERGEN_CARGO_FEATURES")
|
|
|
+ );
|
|
|
+}
|
|
|
|
|
|
#[derive(Parser, Debug, Default, Clone)]
|
|
|
#[clap(
|
|
|
about,
|
|
|
- version(env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT")),
|
|
|
- long_version(LONG_VERSION),
|
|
|
+ version(*VERSION),
|
|
|
+ long_version(LONG_VERSION.as_str()),
|
|
|
setting(AppSettings::DeriveDisplayOrder)
|
|
|
)]
|
|
|
#[clap(group(
|