endcap-sl-software-ri-gener.../build.rs
Wataru Otsubo 8a7991bfb2 new: prototype with xml_schema_generator
generated structs are not so good. I'll write manually
2025-01-29 04:12:03 +09:00

18 lines
767 B
Rust

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();
}