feat: add build file and add commit hash and version in debug info

This commit is contained in:
Didier Slof 2023-05-08 14:39:57 +02:00
parent 3d0436f18e
commit e7a2c67998
Signed by: didier
GPG Key ID: 01E71F18AA4398E5
2 changed files with 40 additions and 2 deletions

35
build.rs Normal file
View File

@ -0,0 +1,35 @@
use std::process::Command;
fn main() {
println!("cargo:rustc-env=GIT_COMMIT_HASH={}", git_commit_hash());
println!("cargo:rustc-env=GIT_TAG={}", git_tag());
}
fn git_commit_hash() -> String {
let commit_command = Command::new("git")
.args(&[
"rev-parse",
"HEAD"
])
.output();
match commit_command {
Ok(out) => String::from_utf8(out.stdout).unwrap_or(String::from("unknown")),
Err(_) => String::from("unknown")
}
}
fn git_tag() -> String {
let tag_command = Command::new("git")
.args(&[
"describe",
"--tags",
"--abbrev=0"
])
.output();
match tag_command {
Ok(out) => String::from_utf8(out.stdout).unwrap_or(String::from("unknown")),
Err(_) => String::from("unknown")
}
}

View File

@ -20,7 +20,10 @@ mod error;
fn main() {
let config = configuration::Config::from_file(&env::var("CONFIG").unwrap_or(String::from("./config.toml")));
setup_logger(&config);
debug!("Config: {:#?}", &config);
trace!("Config: {:#?}", &config);
debug!("commit: {}", env!("GIT_COMMIT_HASH"));
debug!("version: {}", env!("GIT_TAG"));
let input_files = files::get_files(&config.files.input_path)
.into_iter()
@ -99,7 +102,7 @@ fn setup_logger(config: &configuration::Config) {
.size(10 * 1000)
.roll_count(10)
.time_format("%Y-%m-%d %H:%M:%S")
.level(if config.is_debug() { "debug" } else { "info" })
.level(if config.is_debug() { "trace" } else { "info" })
.output_file()
.output_console()
.build();