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}