use rand::{distributions::Alphanumeric, Rng};
use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let gitcl = GitclBuilder::default()
.sha(true) .commit_date(true) .build()?;
let build = BuildBuilder::default()
.build_date(true) .build()?;
Emitter::default()
.add_instructions(&build)?
.add_instructions(&gitcl)?
.emit()
.expect("Unable to generate the cargo keys!");
let build_id = match std::env::var("SOURCE_DATE_EPOCH") {
Ok(val) => val,
Err(_) => rand::thread_rng()
.sample_iter(Alphanumeric)
.take(8)
.map(char::from)
.collect(),
};
println!("cargo:rustc-env=LIBRESPOT_BUILD_ID={build_id}");
Ok(())
}