public string GetSuggestedVersionAfterBump(VersionBumpType bump)
 {
     return(bump switch
     {
         VersionBumpType.Downgrade => null,
         VersionBumpType.None => ToString(),
         VersionBumpType.Patch => $"{Major}.{Minor}.{Patch + 1}",
         VersionBumpType.Minor => $"{Major}.{Minor + 1}.0",
         VersionBumpType.Major => $"{Major + 1}.0.0",
         _ => throw new ArgumentOutOfRangeException(nameof(bump), bump, null)
     });
        static VersionBumpType Max(VersionBumpType a, IEnumerable <VersionBumpType> others)
        {
            var othersList = others.ToList();

            if (othersList.Count == 0)
            {
                return(a);
            }

            return((VersionBumpType)Math.Max((int)a, othersList.Max(b => (int)b)));
        }
Пример #3
0
 public static VersionBumpType ToBumpType(this RuleOverrideType overrideType, VersionBumpType bump)
 {
     return(overrideType switch
     {
         RuleOverrideType.NoOverride => bump,
         RuleOverrideType.Ignore => VersionBumpType.None,
         RuleOverrideType.Major => VersionBumpType.Major,
         RuleOverrideType.Minor => VersionBumpType.Minor,
         RuleOverrideType.Patch => VersionBumpType.Patch,
         _ => throw new ArgumentOutOfRangeException(nameof(overrideType), overrideType, null)
     });
 public static string GetSuggestedVersion(this string version, VersionBumpType bump) => version.ToSemver().GetSuggestedVersionAfterBump(bump);