use bumper::errors::BumperError; use bumper::git; use bumper::project::ProjectKind; use log::{error, info}; use std::process::exit; use structopt::StructOpt; fn main() { if let Err(err) = bumper() { error!("{}", err); exit(1); } } fn bumper() -> Result<(), BumperError> { pretty_env_logger::init_custom_env("BUMPER_LOG"); info!("Bumper starts"); let opt = Opt::from_args(); for mut kind in ProjectKind::detect(".")? { kind.set_version(&opt.version)?; } git::tag(&opt.version)?; info!("Bumper ends OK"); Ok(()) } #[derive(Debug, StructOpt)] struct Opt { #[structopt(help = "version number of new release")] version: String, }