1mod cargo_cmd;
2mod run_build;
3pub use cargo_cmd::*;
4mod cargo_build_cmd;
5pub use cargo_build_cmd::*;
6mod build_steps;
7pub use build_steps::*;
8mod run_deploy;
9mod run_watch;
10pub use run_build::*;
11pub use run_deploy::*;
12pub use run_watch::*;
13
14use anyhow::Result;
15use clap::Subcommand;
16
17#[derive(Subcommand)]
18pub enum Commands {
19 Watch(RunWatch),
20 Deploy(RunDeploy),
21 Build(RunBuild),
22}
23
24impl Commands {
25 pub async fn run(self) -> Result<()> {
26 match self {
27 Commands::Watch(cmd) => cmd.run().await,
28 Commands::Deploy(cmd) => cmd.run(),
29 Commands::Build(cmd) => cmd.run(),
30 }
31 }
32}