cameo 0.1.1

Unified movie/TV show database SDK for Rust
Documentation
#![allow(missing_docs)]

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Only run TMDB codegen when the tmdb feature is enabled
    if std::env::var_os("CARGO_FEATURE_TMDB").is_some() {
        let src = "openapi/tmdb-api.json";
        println!("cargo::rerun-if-changed={src}");

        let file = std::fs::File::open(src)?;
        let spec = serde_json::from_reader(file)?;

        let mut generator = progenitor::Generator::default();
        let tokens = generator.generate_tokens(&spec)?;

        let ast = syn::parse2(tokens)?;
        let content = prettyplease::unparse(&ast);

        let out_file = std::path::Path::new(&std::env::var("OUT_DIR")?).join("tmdb_generated.rs");
        std::fs::write(&out_file, content)?;
    }

    Ok(())
}