aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-05-03 16:43:08 +0200
committerAlex Auvolat <alex@adnab.me>2023-05-09 11:35:32 +0200
commit9e0a9c1c15cc8a6849de8c23bc1b0e711ab4fc8f (patch)
tree42264283c2c7838d6915973e913dc2150a7e6a2e /src
parent5684e1990cce84fbeb41b7886fb10fca94f76581 (diff)
downloadgarage-9e0a9c1c15cc8a6849de8c23bc1b0e711ab4fc8f.tar.gz
garage-9e0a9c1c15cc8a6849de8c23bc1b0e711ab4fc8f.zip
move git-version dependency to main crate to reduce rebuilds
Diffstat (limited to 'src')
-rw-r--r--src/garage/Cargo.toml1
-rw-r--r--src/garage/main.rs6
-rw-r--r--src/util/Cargo.toml1
-rw-r--r--src/util/version.rs12
4 files changed, 11 insertions, 9 deletions
diff --git a/src/garage/Cargo.toml b/src/garage/Cargo.toml
index 9935ce10..2b366ff1 100644
--- a/src/garage/Cargo.toml
+++ b/src/garage/Cargo.toml
@@ -41,6 +41,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] }
rand = "0.8"
async-trait = "0.1.7"
sodiumoxide = { version = "0.2.5-0", package = "kuska-sodiumoxide" }
+git-version = "0.3.4"
serde = { version = "1.0", default-features = false, features = ["derive", "rc"] }
serde_bytes = "0.11"
diff --git a/src/garage/main.rs b/src/garage/main.rs
index 1ab18bb2..e8aee892 100644
--- a/src/garage/main.rs
+++ b/src/garage/main.rs
@@ -108,6 +108,12 @@ async fn main() {
][..];
if let Some(git_version) = option_env!("GIT_VERSION") {
garage_util::version::init_version(git_version);
+ } else {
+ garage_util::version::init_version(git_version::git_version!(
+ prefix = "git:",
+ cargo_prefix = "cargo:",
+ fallback = "unknown"
+ ));
}
garage_util::version::init_features(features);
diff --git a/src/util/Cargo.toml b/src/util/Cargo.toml
index 08fb5553..f72051b9 100644
--- a/src/util/Cargo.toml
+++ b/src/util/Cargo.toml
@@ -22,7 +22,6 @@ blake2 = "0.10"
bytes = "1.0"
digest = "0.10"
err-derive = "0.3"
-git-version = "0.3.4"
hexdump = "0.1"
xxhash-rust = { version = "0.8", default-features = false, features = ["xxh3"] }
hex = "0.4"
diff --git a/src/util/version.rs b/src/util/version.rs
index 2b2ea271..19907ed1 100644
--- a/src/util/version.rs
+++ b/src/util/version.rs
@@ -1,18 +1,14 @@
use std::sync::Arc;
-use arc_swap::{ArcSwap, ArcSwapOption};
+use arc_swap::ArcSwapOption;
lazy_static::lazy_static! {
- static ref VERSION: ArcSwap<&'static str> = ArcSwap::new(Arc::new(git_version::git_version!(
- prefix = "git:",
- cargo_prefix = "cargo:",
- fallback = "unknown"
- )));
+ static ref VERSION: ArcSwapOption<&'static str> = ArcSwapOption::new(None);
static ref FEATURES: ArcSwapOption<&'static [&'static str]> = ArcSwapOption::new(None);
}
pub fn garage_version() -> &'static str {
- &VERSION.load()
+ VERSION.load().as_ref().unwrap()
}
pub fn garage_features() -> Option<&'static [&'static str]> {
@@ -20,7 +16,7 @@ pub fn garage_features() -> Option<&'static [&'static str]> {
}
pub fn init_version(version: &'static str) {
- VERSION.store(Arc::new(version));
+ VERSION.store(Some(Arc::new(version)));
}
pub fn init_features(features: &'static [&'static str]) {