From bb51f1cc63a204390a6b1a4aec7c156f16b04df6 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 6 May 2026 19:24:13 -0400 Subject: [PATCH] chore: embed build time information with `shadow-rs` --- Cargo.lock | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 2 ++ build.rs | 7 +++++ src/lib.rs | 1 + 4 files changed, 102 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 814101c..28a3c25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -843,6 +843,27 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "const_format" +version = "0.2.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" +dependencies = [ + "const_format_proc_macros", + "konst", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "convert_case" version = "0.4.0" @@ -1738,6 +1759,7 @@ dependencies = [ "rhai", "rustls 0.23.35", "secrecy 0.10.3", + "shadow-rs", "snafu", "songbird", "strum 0.28.0", @@ -2040,6 +2062,19 @@ dependencies = [ "polyval", ] +[[package]] +name = "git2" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" +dependencies = [ + "bitflags 2.10.0", + "libc", + "libgit2-sys", + "log", + "url", +] + [[package]] name = "glob" version = "0.3.3" @@ -2738,6 +2773,12 @@ dependencies = [ "serde", ] +[[package]] +name = "is_debug" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fe266d2e243c931d8190177f20bf7f24eed45e96f39e87dc49a27b32d12d407" + [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -2851,6 +2892,21 @@ dependencies = [ "elliptic-curve", ] +[[package]] +name = "konst" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" +dependencies = [ + "konst_macro_rules", +] + +[[package]] +name = "konst_macro_rules" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" + [[package]] name = "kv-log-macro" version = "1.0.7" @@ -3120,6 +3176,18 @@ dependencies = [ "rand 0.9.2", ] +[[package]] +name = "libgit2-sys" +version = "0.18.3+1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + [[package]] name = "libloading" version = "0.9.0" @@ -3168,6 +3236,18 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-sys" +version = "1.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc3a226e576f50782b3305c5ccf458698f92798987f551c6a02efe8276721e22" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -5925,6 +6005,18 @@ dependencies = [ "digest", ] +[[package]] +name = "shadow-rs" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd39b4b2077bd36e60ca28c31d494046e747759cb9b507a7d177bb64787c39e" +dependencies = [ + "const_format", + "git2", + "is_debug", + "jiff", +] + [[package]] name = "sharded-slab" version = "0.1.7" diff --git a/Cargo.toml b/Cargo.toml index 5a68388..56132da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,6 +56,7 @@ patricia_tree = "0.10.1" rhai = "1.23.6" rustls = "0.23" secrecy = { version = "0.10.3", features = ["serde"] } +shadow-rs = { version = "2.0.0", default-features = false } snafu = { version = "0.8.9", features = ["futures"] } songbird = { version = "0.6.0", default-features = false, features = [ "driver", @@ -97,3 +98,4 @@ yoke = "0.8.2" [build-dependencies] capnpc = "0.25.3" +shadow-rs = "2.0.0" diff --git a/build.rs b/build.rs index f4c0f44..b6fd75b 100644 --- a/build.rs +++ b/build.rs @@ -1,7 +1,14 @@ +use shadow_rs::{BuildPattern, ShadowBuilder}; + fn main() { capnpc::CompilerCommand::new() .file("bot.capnp") .file("user.capnp") .run() .expect("couldn't compile capnproto schemas"); + + ShadowBuilder::builder() + .build_pattern(BuildPattern::RealTime) + .build() + .expect("couldn't embed build time information"); } diff --git a/src/lib.rs b/src/lib.rs index 0189097..90168b9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,6 +11,7 @@ mod user_data; mod vc_user; capnp::generated_code!(mod bot_capnp); capnp::generated_code!(mod user_capnp); +shadow_rs::shadow!(build_info); pub use bot_data::BotDataManager; pub use command::{Router as CommandRouter, State, all as all_commands};