23 lines
769 B
Rust
23 lines
769 B
Rust
|
/*
|
||
|
curl -X 'GET' \
|
||
|
'https://converter.swagger.io/api/convert?url=https%3A%2F%2Fmainnet-api-docs.spacemesh.network%2Fv1.7.12%2Fapi.swagger.json' \
|
||
|
-H 'accept: application/json'
|
||
|
*/
|
||
|
|
||
|
fn main() {
|
||
|
let src = "openapi.json";
|
||
|
println!("cargo:rerun-if-changed={}", src);
|
||
|
let file = std::fs::File::open(src).unwrap();
|
||
|
let spec = serde_json::from_reader(file).unwrap();
|
||
|
let mut generator = progenitor::Generator::default();
|
||
|
|
||
|
let tokens = generator.generate_tokens(&spec).unwrap();
|
||
|
let ast = syn::parse2(tokens).unwrap();
|
||
|
let content = prettyplease::unparse(&ast);
|
||
|
|
||
|
let mut out_file = std::path::Path::new(&std::env::var("OUT_DIR").unwrap()).to_path_buf();
|
||
|
out_file.push("codegen.rs");
|
||
|
|
||
|
std::fs::write(out_file, content).unwrap();
|
||
|
}
|