generated from PlexSheep/rs-base
Compare commits
10 commits
Author | SHA1 | Date | |
---|---|---|---|
872338c83f | |||
411ded1395 | |||
|
97b36966d5 | ||
e7ab89f050 | |||
ca3d1b7e82 | |||
56d6a50142 | |||
5bb4072e24 | |||
|
9aa9c8e07b | ||
e80b68f1c4 | |||
378b269fa0 |
1 changed files with 23 additions and 4 deletions
27
src/main.rs
27
src/main.rs
|
@ -1,3 +1,5 @@
|
|||
use std::error::Error as _;
|
||||
|
||||
use autocrate::{
|
||||
changelog::*,
|
||||
config::{
|
||||
|
@ -9,24 +11,37 @@ use autocrate::{
|
|||
release::release,
|
||||
serverapi::ApiCollection,
|
||||
};
|
||||
use libpt::log::{debug, 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 +54,9 @@ async fn main() -> Result<()> {
|
|||
todo!()
|
||||
}
|
||||
};
|
||||
if let Some(err) = status {
|
||||
error!("{err}");
|
||||
debug!("{:#?}", err.source());
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue