fn main() {
#[cfg(feature = "themes")]
themes();
let s = format!(r#""{} {}""#, clap::crate_version!(), version());
std::fs::write(outdir().join("version.rs"), s).unwrap();
}
fn version() -> String {
use vergen_git2 as vergen;
let git2 = vergen::Git2Builder::default()
.describe(true, false, None)
.commit_date(true)
.sha(true)
.build().unwrap();
vergen::Emitter::default()
.add_instructions(&git2).unwrap()
.emit_and_set().unwrap();
let sha = std::env::var_os("VERGEN_GIT_SHA").unwrap();
let sha = sha.to_string_lossy();
let date = std::env::var_os("VERGEN_GIT_COMMIT_DATE").unwrap();
let date = date.to_string_lossy();
format!("({sha} {date})")
}
#[cfg(feature = "themes")]
fn themes() {
use wallust_themes::COLS_KEY;
println!("cargo:rerun-if-changed=build.rs");
let mut val = COLS_KEY.to_vec();
val.push("random");
val.push("list");
let mut val: Vec<_> = val.iter().map(|i| format!(r#""{i}","#)).collect(); val.insert(0, "[".to_string()); val.push("]".to_string());
std::fs::write(outdir().join("args.rs"), val.join("")).unwrap();
}
fn outdir() -> std::path::PathBuf {
let out = std::env::var_os("OUT_DIR").unwrap();
std::path::Path::new(&out).into()
}