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-11 10:21:45 +0200
commit2c7bae935ac68acab831fe86e5330d3c9a84a953 (patch)
tree8a63f9fcc8e476ec81ee60cbdbfb3069eb2e7f36 /src/util
parent8cd02639dc688dcb736b5c36dae822706862fac1 (diff)
downloadgarage-2c7bae935ac68acab831fe86e5330d3c9a84a953.tar.gz
garage-2c7bae935ac68acab831fe86e5330d3c9a84a953.zip
Configure structopt to report the right versionv0.7.2_ci-test-2bug/reported-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"
+ ))
+}