#![doc = include_str!("../README.md")]
#![deny(missing_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
#![cfg_attr(docsrs, feature(doc_cfg))]
mod commands;
mod utils;
use clap::{Args, Parser, Subcommand};
use self::commands::{
bake::BakeCommand, build::BuildCommand, build_toolchain::BuildToolchainCommand,
install::InstallCommand, new::NewCommand, verify::VerifyCommand,
};
#[derive(Parser)]
#[command(name = "cargo", bin_name = "cargo")]
pub enum CargoCli {
Risczero(RisczeroArgs),
}
#[derive(Args)]
#[command(author, version, about, long_about = None)]
#[non_exhaustive]
pub struct RisczeroArgs {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
#[non_exhaustive]
pub enum Commands {
Bake(BakeCommand),
Build(BuildCommand),
BuildToolchain(BuildToolchainCommand),
#[cfg(feature = "experimental")]
Guest(commands::guest::GuestCommand),
Install(InstallCommand),
New(NewCommand),
Verify(VerifyCommand),
}
#[cfg(test)]
mod tests {
use clap::CommandFactory;
use super::*;
#[test]
fn verify_app() {
CargoCli::command().debug_assert();
}
}