better error display
cargo devel CI / cargo CI (push) Successful in 2m23s Details

This commit is contained in:
Christoph J. Scherr 2024-04-26 10:13:47 +02:00
parent ca3d1b7e82
commit e7ab89f050
1 changed files with 20 additions and 4 deletions

View File

@ -9,24 +9,37 @@ use autocrate::{
release::release,
serverapi::ApiCollection,
};
use libpt::log::error;
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::cli_parse();
let cfg = Config::load(&cli)?;
match cli.command {
let status: Option<Error> = match cli.command {
Commands::Changelog { .. } => {
println!("{}", Changelog::build(&cfg)?);
let chlog = Changelog::build(&cfg);
if chlog.is_ok() {
println!("{}", chlog.unwrap());
None
} else {
Some(chlog.unwrap_err())
}
}
Commands::Release { .. } => {
// TODO: check if repo is dirty and create a commit with a given option
let mut apis = ApiCollection::build(&cfg).await?;
release(&cfg, &mut apis).await?;
match release(&cfg, &mut apis).await {
Ok(_) => None,
Err(err) => Some(err)
}
}
Commands::Publish { .. } => {
// TODO: check if repo is dirty and create a commit with a given option
publish(&cfg).await?;
match publish(&cfg).await {
Ok(_) => None,
Err(err) => Some(err)
}
}
Commands::Version {} => {
// TODO: version bump
@ -39,5 +52,8 @@ async fn main() -> Result<()> {
todo!()
}
};
if let Some(err) = status {
error!("{err}");
}
Ok(())
}