endcap-sl-software-ri-gener.../build.rs

19 lines
767 B
Rust
Raw Normal View History

use std::{fs::File, io::BufWriter, io::Write};
use quick_xml::{self, Reader};
use xml_schema_generator::{self, Options};
const OUTFILEPATH: &str = "src/deserialize.rs";
fn main() {
eprintln!("Build script starts");
let mut reader = Reader::from_file("./csr.xml").expect("Failed to open xml");
let root = xml_schema_generator::into_struct(&mut reader).expect("Failed to parse xml");
let struct_as_string = root.to_serde_struct(&Options::quick_xml_de());
println!("{}", struct_as_string);
let outfile = File::create(OUTFILEPATH).expect("Failed to create out file");
let mut writer = BufWriter::new(outfile);
writeln!(writer, "use serde::{{Serialize, Deserialize}};").unwrap();
writeln!(writer, "{}", struct_as_string).unwrap();
}