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}