#![warn(missing_docs)]
pub mod android;
pub mod commands;
pub mod core;
pub mod ios;
pub mod spec;
pub mod template;
use clap::{AppSettings, Clap};
use std::path::PathBuf;
#[derive(Debug)]
pub struct Config {
pub manifest_dir: PathBuf,
pub manifest_path: PathBuf,
pub target_dir: PathBuf,
pub spec: spec::Spec,
}
#[derive(Clap)]
#[clap(name = "polyhorn", version = env!("CARGO_PKG_VERSION"), author = "Glacyr B.V.")]
#[clap(setting(AppSettings::ColoredHelp))]
struct Opts {
#[clap(subcommand)]
subcmd: SubCommand,
#[clap(long = "manifest-path", default_value = "Polyhorn.toml")]
manifest_path: PathBuf,
}
#[derive(Clap)]
enum SubCommand {
Init(commands::Init),
Run(commands::Run),
}
pub fn cli() {
#[cfg(windows)]
let enabled = ansi_term::enable_ansi_support();
let opts = Opts::parse();
match opts.subcmd {
SubCommand::Init(init) => init.main(),
SubCommand::Run(run) => run.main(&opts.manifest_path),
}
}