show git hash in game (#33)

This commit is contained in:
extrawurst
2025-04-19 11:13:19 +02:00
committed by GitHub
parent 0437f82957
commit 7cd4b38ebd
4 changed files with 117 additions and 0 deletions

80
Cargo.lock generated
View File

@@ -2224,6 +2224,37 @@ dependencies = [
"powerfmt", "powerfmt",
] ]
[[package]]
name = "derive_builder"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947"
dependencies = [
"derive_builder_macro",
]
[[package]]
name = "derive_builder_core"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "derive_builder_macro"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
dependencies = [
"derive_builder_core",
"syn",
]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "1.0.0" version = "1.0.0"
@@ -2993,6 +3024,7 @@ dependencies = [
"rand", "rand",
"ron", "ron",
"serde", "serde",
"vergen-gitcl",
] ]
[[package]] [[package]]
@@ -3752,6 +3784,15 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "num_threads"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "objc" name = "objc"
version = "0.2.7" version = "0.2.7"
@@ -5241,7 +5282,9 @@ dependencies = [
"deranged", "deranged",
"itoa", "itoa",
"js-sys", "js-sys",
"libc",
"num-conv", "num-conv",
"num_threads",
"powerfmt", "powerfmt",
"serde", "serde",
"time-core", "time-core",
@@ -5567,6 +5610,43 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]]
name = "vergen"
version = "9.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b2bf58be11fc9414104c6d3a2e464163db5ef74b12296bda593cac37b6e4777"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
"vergen-lib",
]
[[package]]
name = "vergen-gitcl"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9dfc1de6eb2e08a4ddf152f1b179529638bedc0ea95e6d667c014506377aefe"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
"time",
"vergen",
"vergen-lib",
]
[[package]]
name = "vergen-lib"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b07e6010c0f3e59fcb164e0163834597da68d1f864e2b8ca49f74de01e9c166"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
]
[[package]] [[package]]
name = "version-compare" name = "version-compare"
version = "0.2.0" version = "0.2.0"

View File

@@ -40,6 +40,9 @@ bevy_common_assets = { version = "0.12.0", features = ["ron"] }
serde = { version = "1.0.219", features = ["derive"] } serde = { version = "1.0.219", features = ["derive"] }
ron = "0.8" ron = "0.8"
[build-dependencies]
vergen-gitcl = "1.0"
[lints.clippy] [lints.clippy]
too_many_arguments = "allow" too_many_arguments = "allow"
type_complexity = "allow" type_complexity = "allow"

View File

@@ -1,4 +1,17 @@
use vergen_gitcl::{Emitter, GitclBuilder};
fn main() { fn main() {
let gitcl = GitclBuilder::default()
.branch(true)
.sha(true)
.build()
.unwrap();
Emitter::default()
.add_instructions(&gitcl)
.unwrap()
.emit()
.unwrap();
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN"); println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN");
} }

View File

@@ -1,8 +1,11 @@
use bevy::prelude::*; use bevy::prelude::*;
use bevy_debug_log::LogViewerVisibility; use bevy_debug_log::LogViewerVisibility;
pub const GIT_HASH: &str = env!("VERGEN_GIT_SHA");
pub fn plugin(app: &mut App) { pub fn plugin(app: &mut App) {
app.add_systems(Update, update); app.add_systems(Update, update);
app.add_systems(Startup, setup);
} }
fn update(mut commands: Commands, keyboard: Res<ButtonInput<KeyCode>>) { fn update(mut commands: Commands, keyboard: Res<ButtonInput<KeyCode>>) {
@@ -10,3 +13,21 @@ fn update(mut commands: Commands, keyboard: Res<ButtonInput<KeyCode>>) {
commands.trigger(LogViewerVisibility::Toggle); commands.trigger(LogViewerVisibility::Toggle);
} }
} }
fn setup(mut commands: Commands) {
commands.spawn((
Name::new("githash-ui"),
Text::new(GIT_HASH),
TextFont {
font_size: 12.0,
..default()
},
TextLayout::new_with_justify(JustifyText::Left),
Node {
position_type: PositionType::Absolute,
top: Val::Px(5.0),
left: Val::Px(5.0),
..default()
},
));
}