use crate::release_kind::ReleaseKind;
use anyhow::Result;
pub fn compute_next_tag(kind: &ReleaseKind) -> Result<String> {
let root = std::env::current_dir()?;
let cur = crate::project::read_current_version(&root)?;
let base = crate::semver::base_of(&cur);
let bump_kind: crate::semver::BumpKind = kind.clone().into();
let next = crate::semver::bump(&base, bump_kind)?;
Ok(format!("v{}", next))
}
pub fn bump(
kind: &ReleaseKind,
_cfg: &crate::config::Config,
) -> Result<()> {
let root = std::env::current_dir()?;
let cur = crate::project::read_current_version(&root)?;
let base = crate::semver::base_of(&cur);
let bump_kind: crate::semver::BumpKind = kind.clone().into();
let next = crate::semver::bump(&base, bump_kind)?;
crate::project::write_versions(&root, &next)?;
Ok(())
}