aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-08-10 12:18:44 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-08-10 22:33:33 +0200
commit4a693ff29e575de61bbef915201f76b7b69454c5 (patch)
tree3c3653989041c6d8f892167f08fd25d452e9094a /src/util
parent8cd02639dc688dcb736b5c36dae822706862fac1 (diff)
downloadgarage-4a693ff29e575de61bbef915201f76b7b69454c5.tar.gz
garage-4a693ff29e575de61bbef915201f76b7b69454c5.zip
Configure structopt to report the right versionv0.7.2+ci-test-version
By default, structopt reports the value provided by the env var CARGO_PKG_VERSION, feeded by Cargo when reading Cargo.toml. However for Garage we use a versioning based on git, so we often report a version that is behind the real version. In this commit, we create garage_util::version::garage() that reports the right version and configure all structopt subcommands to call this function instead of using the env var.
Diffstat (limited to 'src/util')
-rw-r--r--src/util/Cargo.toml2
-rw-r--r--src/util/lib.rs1
-rw-r--r--src/util/version.rs7
3 files changed, 10 insertions, 0 deletions
diff --git a/src/util/Cargo.toml b/src/util/Cargo.toml
index 57c70ffb..783fb3fc 100644
--- a/src/util/Cargo.toml
+++ b/src/util/Cargo.toml
@@ -24,6 +24,7 @@ hex = "0.4"
tracing = "0.1.30"
rand = "0.8"
sha2 = "0.9"
+git-version = "0.3.4"
chrono = "0.4"
rmp-serde = "0.15"
@@ -43,5 +44,6 @@ hyper = "0.14"
opentelemetry = { version = "0.17", features = [ "rt-tokio", "metrics", "trace" ] }
+
[features]
k2v = []
diff --git a/src/util/lib.rs b/src/util/lib.rs
index fce151af..47c85c3a 100644
--- a/src/util/lib.rs
+++ b/src/util/lib.rs
@@ -14,3 +14,4 @@ pub mod persister;
pub mod time;
pub mod token_bucket;
pub mod tranquilizer;
+pub mod version;
diff --git a/src/util/version.rs b/src/util/version.rs
new file mode 100644
index 00000000..8882d035
--- /dev/null
+++ b/src/util/version.rs
@@ -0,0 +1,7 @@
+pub fn garage() -> &'static str {
+ option_env!("GIT_VERSION").unwrap_or(git_version::git_version!(
+ prefix = "git:",
+ cargo_prefix = "cargo:",
+ fallback = "unknown"
+ ))
+}