boltffi_cli 0.27.2

CLI for BoltFFI - generate Swift, Kotlin, and WASM bindings from Rust
mod build;
mod cargo;
mod check;
mod cli;
mod commands;
mod config;
mod pack;
mod reporter;
mod target;
mod toolchain;

use clap::Parser;

use crate::cli::{Cli, ConfigPaths, execute_command};

fn main() {
    let cli = Cli::parse();
    let config_paths = ConfigPaths::from(&cli);

    let verbosity = if cli.quiet {
        reporter::Verbosity::Quiet
    } else if cli.verbose > 0 {
        reporter::Verbosity::Verbose
    } else {
        reporter::Verbosity::Normal
    };

    let reporter = reporter::Reporter::new(verbosity);
    let result = execute_command(cli.command, &reporter, cli.cargo_args, &config_paths);

    if let Err(err) = result {
        eprintln!("\n{} {}", console::style("error:").red().bold(), err);
        std::process::exit(1);
    }
}