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