Skip to main content

jessie_build/
lib.rs

1use jessie_lib::appinfo::AppInfo;
2use std::fs;
3use std::path::Path;
4pub fn build() {
5    let manifest_dir = std::env::var_os("CARGO_MANIFEST_DIR")
6        .expect("jessie-build : error finding environment variable CARGO_MANIFEST_DIR");
7    let config_ron_dir = Path::new(&manifest_dir).join("config.ron");
8    let config_ron_str =
9        fs::read_to_string(config_ron_dir).expect("jessie-build : error reading config.ron file");
10
11    let generated: AppInfo =
12        ron::from_str(&config_ron_str).expect("jessie-build : error generating ron file");
13
14    let generated_str = format!(include_str!("generated.rs"), generated);
15
16    let out_dir = std::env::var_os("OUT_DIR")
17        .expect("jessie-build : error finding environment variable OUT_DIR");
18
19    let out_path = Path::new(&out_dir).join("appinfo.rs");
20
21    fs::write(out_path, generated_str)
22        .expect("jessie-build : error writing auto generated file appinfo.rs");
23    println!("cargo::rerun-if-changed=config.ron");
24}