From 9e0a9c1c15cc8a6849de8c23bc1b0e711ab4fc8f Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 3 May 2023 16:43:08 +0200 Subject: move git-version dependency to main crate to reduce rebuilds --- src/garage/Cargo.toml | 1 + src/garage/main.rs | 6 ++++++ src/util/Cargo.toml | 1 - src/util/version.rs | 12 ++++-------- 4 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src') 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]) { -- cgit v1.2.3