mod build;
use std::process::ExitCode;
use clap::{Parser, Subcommand};
use crate::build::BuildArgs;
#[derive(Parser)]
#[command(name = "csti", version, about)]
struct Cli {
#[command(subcommand)]
command: Command,
}
#[derive(Subcommand)]
enum Command {
Build(BuildArgs),
}
#[tokio::main]
async fn main() -> ExitCode {
let cli = Cli::parse();
let result = match cli.command {
Command::Build(args) => build::run(args).await,
};
match result {
Ok(()) => ExitCode::SUCCESS,
Err(err) => {
eprintln!("error: {err}");
ExitCode::FAILURE
}
}
}