xtask/cmd/
mod.rs

1use anyhow::Context;
2
3mod change_logs;
4mod power_set;
5mod workspace_deps;
6
7const IGNORED_PACKAGES: &[&str] = &["scuffle-workspace-hack", "xtask"];
8
9#[derive(Debug, Clone, clap::Subcommand)]
10pub enum Commands {
11    #[clap(alias = "powerset")]
12    PowerSet(power_set::PowerSet),
13    WorkspaceDeps(workspace_deps::WorkspaceDeps),
14    #[clap(alias = "change-log", subcommand)]
15    ChangeLogs(change_logs::Commands),
16}
17
18impl Commands {
19    pub fn run(self) -> anyhow::Result<()> {
20        match self {
21            Commands::PowerSet(cmd) => cmd.run().context("power set"),
22            Commands::WorkspaceDeps(cmd) => cmd.run().context("workspace deps"),
23            Commands::ChangeLogs(cmd) => cmd.run().context("change logs"),
24        }
25    }
26}