autocrate/src/main.rs
PlexSheep bd04eea9cc
All checks were successful
cargo devel CI / cargo CI (push) Successful in 4m4s
pass enum
2024-02-24 13:24:24 +01:00

41 lines
992 B
Rust

use autocrate::{
changelog::*,
config::{
cli::{Cli, Commands},
Config,
},
error::*,
publish::publish,
release::release,
serverapi::init_servers,
};
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::cli_parse();
let cfg = Config::load(&cli)?;
match cli.command {
Commands::Changelog { .. } => {
println!("{}", Changelog::build(&cfg)?);
}
Commands::Release { .. } => {
let mut apis = init_servers(&cfg).await?;
release(&cfg, &mut apis).await?;
}
Commands::Publish { .. } => {
publish(&cfg).await?;
}
Commands::Version {} => {
// TODO: version bump
// TODO: version select interactive
// TODO: version select automated
todo!()
}
Commands::Init { .. } => {
// TODO: create a basic autocrate yaml
todo!()
}
};
Ok(())
}