xtask/cli/
r_cmd_check.rs

1use clap::{Args, ValueEnum};
2
3use crate::commands::r_cmd_check::RCmdCheckErrorOn;
4
5#[derive(Args, Debug)]
6pub(crate) struct RCmdCheckArg {
7    #[arg(long, default_value = "false", help = "Passed to R CMD check")]
8    pub(crate) no_build_vignettes: bool,
9    #[arg(
10        long,
11        default_value = "warning",
12        help = "Determines which R CMD check errors to fail on"
13    )]
14    pub(crate) error_on: ErrorOn,
15    #[arg(long, help = "Defaults to a temporary directory")]
16    pub(crate) check_dir: Option<String>,
17}
18
19#[derive(ValueEnum, Debug, Clone, Copy, Eq, PartialEq)]
20pub(crate) enum ErrorOn {
21    Never,
22    Note,
23    Warning,
24    Error,
25}
26
27impl From<ErrorOn> for RCmdCheckErrorOn {
28    fn from(val: ErrorOn) -> Self {
29        match val {
30            ErrorOn::Never => RCmdCheckErrorOn::Never,
31            ErrorOn::Note => RCmdCheckErrorOn::Note,
32            ErrorOn::Warning => RCmdCheckErrorOn::Warning,
33            ErrorOn::Error => RCmdCheckErrorOn::Error,
34        }
35    }
36}