Skip to main content

cargo_set_version/
lib.rs

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}