cloudformation-validate-data-source 1.15.0

AWS CloudFormation Validate
Documentation
use data_source::generate_all;
use log::info;
use std::env;
use std::path::PathBuf;

fn main() -> anyhow::Result<()> {
    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init();
    if env::args().any(|a| a == "-h" || a == "--help") {
        eprintln!(
            "Usage: cargo run -p cloudformation-validate-data-source --features maintenance --example generate\n\n\
             Generates all outputs from existing upstream data.\n\
             To refresh upstream data first, run `cargo run -p cloudformation-validate-data-source --features maintenance --example sync -- --cfn-lint-root <DIR>`."
        );
        return Ok(());
    }

    let manifest = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
    let upstream_dir = manifest.join("upstream");
    let generated_dir = manifest.join("generated");
    let handwritten_dir = manifest.join("handwritten");

    generate_all(&upstream_dir, &generated_dir, &handwritten_dir)?;

    info!("Done - all outputs in data-source/generated/");
    Ok(())
}