diff --git a/Cargo.lock b/Cargo.lock index 4673bcd..3ff54ee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -317,6 +317,9 @@ name = "cc" version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" +dependencies = [ + "jobserver", +] [[package]] name = "cfd_protocol" @@ -354,6 +357,7 @@ dependencies = [ "libc", "num-integer", "num-traits", + "time 0.1.43", "winapi 0.3.9", ] @@ -413,7 +417,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "188a7c2ae2a1026b9831889fd6461db5d33c4f6d54d6f862bd8b81a2fcefbdba" dependencies = [ "percent-encoding", - "time", + "time 0.3.3", "version_check", ] @@ -542,13 +546,14 @@ dependencies = [ "sha2", "sqlx", "thiserror", - "time", + "time 0.3.3", "tokio", "tokio-tungstenite", "tokio-util", "tracing", "tracing-subscriber", "uuid", + "vergen", "xtra", ] @@ -635,6 +640,12 @@ dependencies = [ "generic-array", ] +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + [[package]] name = "dotenv" version = "0.15.0" @@ -675,6 +686,26 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "enum-iterator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "event-listener" version = "2.5.1" @@ -900,6 +931,31 @@ dependencies = [ "wasi 0.10.2+wasi-snapshot-preview1", ] +[[package]] +name = "getset" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b328c01a4d71d2d8173daa93562a73ab0fe85616876f02500f53d82948c504" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "git2" +version = "0.13.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a8057932925d3a9d9e4434ea016570d37420ddb1ceed45a174d577f24ed6700" +dependencies = [ + "bitflags", + "libc", + "libgit2-sys", + "log", + "url", +] + [[package]] name = "glob" version = "0.3.0" @@ -1124,6 +1180,15 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +[[package]] +name = "jobserver" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.55" @@ -1145,6 +1210,18 @@ version = "0.2.103" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" +[[package]] +name = "libgit2-sys" +version = "0.12.24+1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddbd6021eef06fb289a8f54b3c2acfdd85ff2a585dfbb24b8576325373d2152c" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + [[package]] name = "libsqlite3-sys" version = "0.22.2" @@ -1156,6 +1233,18 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-sys" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "lock_api" version = "0.4.5" @@ -2040,7 +2129,7 @@ dependencies = [ "serde_json", "state", "tempfile", - "time", + "time 0.3.3", "tokio", "tokio-stream", "tokio-util", @@ -2114,7 +2203,7 @@ dependencies = [ "smallvec", "stable-pattern", "state", - "time", + "time 0.3.3", "tokio", "uncased", ] @@ -2190,6 +2279,15 @@ dependencies = [ "rust_decimal", ] +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + [[package]] name = "rustls" version = "0.16.0" @@ -2354,6 +2452,12 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" + [[package]] name = "serde" version = "1.0.130" @@ -2705,6 +2809,21 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "sysinfo" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e7de153d0438a648bb71e06e300e54fc641685e96af96d49b843f43172d341c" +dependencies = [ + "cfg-if 1.0.0", + "core-foundation-sys", + "doc-comment", + "libc", + "ntapi", + "once_cell", + "winapi 0.3.9", +] + [[package]] name = "tempfile" version = "3.2.0" @@ -2766,6 +2885,16 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "time" version = "0.3.3" @@ -3125,6 +3254,24 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +[[package]] +name = "vergen" +version = "5.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "265455aab08c55a1ab13f07c8d5e25c7d46900f4484dd7cbd682e77171f93f3c" +dependencies = [ + "anyhow", + "cfg-if 1.0.0", + "chrono", + "enum-iterator", + "getset", + "git2", + "rustc_version", + "rustversion", + "sysinfo", + "thiserror", +] + [[package]] name = "version_check" version = "0.9.3" diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index fbd611b..9e197f3 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -54,3 +54,7 @@ path = "src/maker.rs" [dev-dependencies] pretty_assertions = "1" time = { version = "0.3", features = ["std"] } + +[build-dependencies] +vergen = "5" +anyhow = "1" diff --git a/daemon/build.rs b/daemon/build.rs index a936fd4..1df7345 100644 --- a/daemon/build.rs +++ b/daemon/build.rs @@ -1,6 +1,12 @@ -fn main() -> std::io::Result<()> { +use anyhow::Result; +use vergen::{vergen, Config, SemverKind}; + +fn main() -> Result<()> { std::fs::create_dir_all("../frontend/dist/maker")?; std::fs::create_dir_all("../frontend/dist/taker")?; - Ok(()) + let mut config = Config::default(); + *config.git_mut().semver_kind_mut() = SemverKind::Lightweight; + + vergen(config) } diff --git a/daemon/src/maker.rs b/daemon/src/maker.rs index 72d25e5..3ba4c08 100644 --- a/daemon/src/maker.rs +++ b/daemon/src/maker.rs @@ -115,6 +115,7 @@ async fn main() -> Result<()> { let opts = Opts::parse(); logger::init(LevelFilter::DEBUG, opts.json).context("initialize logger")?; + tracing::info!("Running version: {}", env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT")); let data_dir = opts .data_dir diff --git a/daemon/src/taker.rs b/daemon/src/taker.rs index ab646d2..b448d14 100644 --- a/daemon/src/taker.rs +++ b/daemon/src/taker.rs @@ -112,6 +112,7 @@ async fn main() -> Result<()> { let opts = Opts::parse(); logger::init(LevelFilter::DEBUG, opts.json).context("initialize logger")?; + tracing::info!("Running version: {}", env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT")); let data_dir = opts .data_dir