mirror of
https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator.git
synced 2025-02-23 17:17:08 +09:00
18 lines
767 B
Rust
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();
|
|
}
|