mecha10-cli 0.8.0

Mecha10 CLI tool
Documentation
//! Build command arguments

use clap::{Args, Subcommand, ValueEnum};

#[derive(Subcommand, Debug)]
pub enum BuildCommand {
    Robot(BuildTargetArgs),

    Remote(BuildTargetArgs),

    Rl(BuildTargetArgs),
}

#[derive(Debug, Clone, Copy, ValueEnum)]
pub enum VersionBump {
    Patch,
    Minor,
    Major,
}

#[derive(Args, Debug, Clone)]
pub struct BuildTargetArgs {
    #[arg(short, long)]
    pub target: Option<String>,

    #[arg(long, value_enum, conflicts_with = "version")]
    pub bump: Option<VersionBump>,

    #[arg(long, conflicts_with = "bump")]
    pub version: Option<String>,

    #[arg(long)]
    pub dev: bool,

    #[arg(long)]
    pub non_interactive: bool,
}