1use anyhow::{Result, anyhow};
2use semver::Version;
3
4pub fn parse_new_version(input: &str) -> Result<Version> {
5 Version::parse(input)
6 .map_err(|err| anyhow!("'{}' is not a valid semver version: {}", input, err))
7}
8
9pub fn ensure_version_increase(new: &Version, current: &Version, package_name: &str) -> Result<()> {
10 if new <= current {
11 Err(anyhow!(
12 "new version '{}' must be greater than current version '{}' for package '{}'",
13 new,
14 current,
15 package_name,
16 ))
17 } else {
18 Ok(())
19 }
20}