chore: embed build time information with shadow-rs

This commit is contained in:
2026-05-06 19:24:13 -04:00
parent 906ddec843
commit bb51f1cc63
4 changed files with 102 additions and 0 deletions

92
Cargo.lock generated
View File

@@ -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"

View File

@@ -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"

View File

@@ -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");
}

View File

@@ -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};