public static SemanticVersion IncrementPatchVersion(this SemanticVersion version) { if (version.IsPrerelease) { var prereleaseIdentifier = PrereleaseIdentifier.Parse(version); return(version.IncrementPrerelease(prereleaseIdentifier.Label)); } else { return(new SemanticVersion(version.Major, version.Minor, version.Patch + 1)); } }
public static SemanticVersion IncrementPrerelease(this SemanticVersion version, string newPrereleaseLabel) { var prereleaseIdentifier = PrereleaseIdentifier.Parse(version); return(new SemanticVersion(version.Major, version.Minor, version.Patch, prereleaseIdentifier.ApplyLabel(newPrereleaseLabel).BuildPrereleaseLabels(), null)); }
public void ShouldThrowForPreReleaseIdentifierWithoutNumericNumber() { Should.Throw <InvalidPrereleaseIdentifierException>(() => PrereleaseIdentifier.Parse(SemanticVersion.Parse("2.0.0-alpha.a"))); }