use crate::ops::forc_build;
use anyhow::Result;
use clap::Parser;
#[derive(Debug, Default, Parser)]
pub struct Command {
#[clap(short, long)]
pub path: Option<String>,
#[clap(long)]
pub print_ast: bool,
#[clap(long)]
pub print_finalized_asm: bool,
#[clap(long)]
pub print_intermediate_asm: bool,
#[clap(long)]
pub print_ir: bool,
#[clap(short = 'o')]
pub binary_outfile: Option<String>,
#[clap(short = 'g', long)]
pub debug_outfile: Option<String>,
#[clap(long = "offline")]
pub offline_mode: bool,
#[clap(long = "silent", short = 's')]
pub silent_mode: bool,
#[clap(long)]
pub output_directory: Option<String>,
#[clap(long)]
pub minify_json_abi: bool,
#[clap(long)]
pub minify_json_storage_slots: bool,
#[clap(long)]
pub locked: bool,
#[clap(long)]
pub build_profile: Option<String>,
#[clap(long)]
pub release: bool,
#[clap(long)]
pub time_phases: bool,
}
pub(crate) fn exec(command: Command) -> Result<()> {
forc_build::build(command)?;
Ok(())
}