blob: e202bbec39e392a8293d54dc0c4bef295acc3f8c [file] [log] [blame]
use crate::error::Result;
use std::fs;
use std::path::Path;
use syn_codegen::Definitions;
pub fn generate(defs: &Definitions) -> Result<()> {
let mut j = serde_json::to_string_pretty(&defs)?;
j.push('\n');
let check: Definitions = serde_json::from_str(&j)?;
assert_eq!(*defs, check);
let codegen_root = Path::new(env!("CARGO_MANIFEST_DIR"));
let json_path = codegen_root.join("../syn.json");
fs::write(json_path, j)?;
Ok(())
}