Skip to main content

plan_issue_cli/commands/
build.rs

1use std::path::PathBuf;
2
3use clap::Args;
4use serde::Serialize;
5
6use super::{GroupingArgs, PrefixArgs};
7
8#[derive(Debug, Clone, Args, Serialize)]
9pub struct BuildTaskSpecArgs {
10    /// Plan markdown path.
11    #[arg(long, value_name = "path")]
12    pub plan: PathBuf,
13
14    /// Sprint number.
15    #[arg(long, value_parser = clap::value_parser!(u16).range(1..), value_name = "number")]
16    pub sprint: u16,
17
18    /// Output task-spec TSV path.
19    #[arg(long, value_name = "path")]
20    pub task_spec_out: Option<PathBuf>,
21
22    #[command(flatten)]
23    pub prefixes: PrefixArgs,
24
25    #[command(flatten)]
26    pub grouping: GroupingArgs,
27}
28
29#[derive(Debug, Clone, Args, Serialize)]
30pub struct BuildPlanTaskSpecArgs {
31    /// Plan markdown path.
32    #[arg(long, value_name = "path")]
33    pub plan: PathBuf,
34
35    /// Output task-spec TSV path.
36    #[arg(long, value_name = "path")]
37    pub task_spec_out: Option<PathBuf>,
38
39    #[command(flatten)]
40    pub prefixes: PrefixArgs,
41
42    #[command(flatten)]
43    pub grouping: GroupingArgs,
44}