#![doc = include_str!("../README.md")]
#![deny(missing_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
mod commands;
mod toolchain;
mod utils;
#[cfg(feature = "experimental")]
pub use self::commands::build::BuildSubcommand;
use clap::{Parser, Subcommand};
#[cfg(feature = "experimental")]
use self::commands::build::BuildCommand;
use self::commands::{
build_guest::BuildGuest, build_toolchain::BuildToolchain, datasheet::Datasheet,
deploy::DeployCommand, install::Install, new::NewCommand, verify::VerifyCommand,
};
#[derive(Parser)]
#[command(name = "cargo", bin_name = "cargo")]
pub enum Cargo {
Risczero(Risczero),
}
#[derive(clap::Args)]
#[command(author, version, about, long_about = None)]
#[non_exhaustive]
pub struct Risczero {
#[clap(subcommand)]
pub command: RisczeroCmd,
}
#[derive(Subcommand)]
#[non_exhaustive]
pub enum RisczeroCmd {
Build(BuildGuest),
BuildToolchain(BuildToolchain),
Install(Install),
Datasheet(Datasheet),
New(NewCommand),
Deploy(DeployCommand),
Verify(VerifyCommand),
#[cfg(feature = "experimental")]
BuildCrate(BuildCommand),
#[cfg(feature = "experimental")]
Test(BuildCommand),
}
#[cfg(test)]
mod tests {
use clap::CommandFactory;
use super::*;
#[test]
fn verify_app() {
Cargo::command().debug_assert();
}
}