2024-01-27 23:26:49 +01:00
|
|
|
use autocrate::{
|
|
|
|
changelog::*,
|
|
|
|
config::{
|
|
|
|
cli::{Cli, Commands},
|
|
|
|
Config,
|
|
|
|
},
|
2024-02-16 18:58:20 +01:00
|
|
|
release::release,
|
|
|
|
publish::publish,
|
2024-01-27 23:26:49 +01:00
|
|
|
error::*,
|
|
|
|
};
|
2024-01-24 23:04:01 +01:00
|
|
|
|
2024-02-16 18:37:19 +01:00
|
|
|
#[tokio::main]
|
|
|
|
async fn main() -> Result<()> {
|
2024-01-24 23:04:01 +01:00
|
|
|
let cli = Cli::cli_parse();
|
2024-02-16 18:58:20 +01:00
|
|
|
let cfg = Config::load(&cli)?;
|
2024-01-24 23:04:01 +01:00
|
|
|
|
2024-01-27 23:26:49 +01:00
|
|
|
match cli.command {
|
|
|
|
Commands::Changelog { .. } => {
|
2024-02-16 16:43:33 +01:00
|
|
|
println!("{}", Changelog::build(&cfg)?);
|
2024-01-27 23:26:49 +01:00
|
|
|
}
|
2024-01-27 23:46:00 +01:00
|
|
|
Commands::Release { .. } => {
|
2024-02-16 18:58:20 +01:00
|
|
|
release(&cfg)?;
|
2024-01-27 23:46:00 +01:00
|
|
|
}
|
|
|
|
Commands::Publish { .. } => {
|
2024-02-16 18:58:20 +01:00
|
|
|
publish(&cfg)?;
|
2024-01-27 23:46:00 +01:00
|
|
|
}
|
2024-02-16 18:37:19 +01:00
|
|
|
};
|
|
|
|
Ok(())
|
2024-01-23 21:38:11 +01:00
|
|
|
}
|