use the version function for s2s API too

This way the extra version information can appear there as well. Mainly
useful for showing off :P
This commit is contained in:
Charles Hall 2024-05-01 00:30:40 -07:00
parent a25f2ec950
commit 509b70bd82
No known key found for this signature in database
GPG key ID: 7B8E0645816E07CF
3 changed files with 16 additions and 16 deletions

View file

@ -515,7 +515,7 @@ pub(crate) async fn get_server_version_route(
Ok(get_server_version::v1::Response { Ok(get_server_version::v1::Response {
server: Some(get_server_version::v1::Server { server: Some(get_server_version::v1::Server {
name: Some(env!("CARGO_PKG_NAME").to_owned()), name: Some(env!("CARGO_PKG_NAME").to_owned()),
version: Some(env!("CARGO_PKG_VERSION").to_owned()), version: Some(crate::version()),
}), }),
}) })
} }

View file

@ -2,23 +2,9 @@
use clap::Parser; use clap::Parser;
/// Returns the current version of the crate with extra info if supplied
///
/// Set the environment variable `GRAPEVINE_VERSION_EXTRA` to any UTF-8 string to
/// include it in parenthesis after the SemVer version. A common value are git
/// commit hashes.
fn version() -> String {
let cargo_pkg_version = env!("CARGO_PKG_VERSION");
match option_env!("GRAPEVINE_VERSION_EXTRA") {
Some(x) => format!("{cargo_pkg_version} ({x})"),
None => cargo_pkg_version.to_owned(),
}
}
/// Command line arguments /// Command line arguments
#[derive(Parser)] #[derive(Parser)]
#[clap(about, version = version())] #[clap(about, version = crate::version())]
pub(crate) struct Args; pub(crate) struct Args;
/// Parse command line arguments into structured data /// Parse command line arguments into structured data

View file

@ -71,6 +71,20 @@ pub(crate) fn services() -> &'static Services {
.expect("SERVICES should be initialized when this is called") .expect("SERVICES should be initialized when this is called")
} }
/// Returns the current version of the crate with extra info if supplied
///
/// Set the environment variable `GRAPEVINE_VERSION_EXTRA` to any UTF-8 string to
/// include it in parenthesis after the SemVer version. A common value are git
/// commit hashes.
fn version() -> String {
let cargo_pkg_version = env!("CARGO_PKG_VERSION");
match option_env!("GRAPEVINE_VERSION_EXTRA") {
Some(x) => format!("{cargo_pkg_version} ({x})"),
None => cargo_pkg_version.to_owned(),
}
}
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
clap::parse(); clap::parse();