pub(crate) mod manifest; pub(crate) mod cli; pub(crate) mod runner; use std::path::Path; use std::process; use thiserror::Error as TeError; /// All errors occurs in this executable. #[derive(TeError, Debug)] enum Error { /// Error when parsing manifest TOML file. #[error("{0}")] ParseManifest(#[from] manifest::ParseManifestError), /// Error when parsing manifest into schema. #[error("{0}")] ParseSchema(#[from] manifest::ParseSchemaError), } /// Result type used in this executable. type Result = std::result::Result; fn runner() -> Result<()> { let mf = manifest::Manifest::from_file(Path::new(r#"D:\Repo\wfassoc\example\manifest\ppic.toml"#))?; //let mf = raw_mf.to_checked()?; println!("{:?}", mf); Ok(()) } fn main() { //let cli = cli::parse(); runner().unwrap_or_else(|e| { eprintln!("Runtime error: {}.", e); process::exit(1) }); }