public Versions(Version oldFileVersion, BinaryApiCompatibility compatibility)
 {
     Compatibility = compatibility;
     var oldSemanticVersion = new Version(oldFileVersion.Major, oldFileVersion.Minor, oldFileVersion.Build, 0);
     var newSemanticVersion = oldSemanticVersion.GetNewSemanticVersion(compatibility);
     AssemblyFileVersion = newSemanticVersion;
     AssemblyInformationalVersion = AssemblyFileVersion;
     AssemblyVersion = new Version(newSemanticVersion.Major, 0, 0, 0);
     ExclusiveMaximumFileVersion = AssemblyFileVersion.WithMinorIncremented();
 }
        public Versions(Version oldFileVersion, BinaryApiCompatibility compatibility)
        {
            Compatibility = compatibility;
            var oldSemanticVersion = new Version(oldFileVersion.Major, oldFileVersion.Minor, oldFileVersion.Build, 0);
            var newSemanticVersion = oldSemanticVersion.GetNewSemanticVersion(compatibility);

            AssemblyFileVersion          = newSemanticVersion;
            AssemblyInformationalVersion = AssemblyFileVersion;
            AssemblyVersion             = new Version(newSemanticVersion.Major, 0, 0, 0);
            ExclusiveMaximumFileVersion = AssemblyFileVersion.WithMinorIncremented();
        }
 public static Version GetNewSemanticVersion(this Version oldSemVer, BinaryApiCompatibility compatibility)
 {
     switch (compatibility)
     {
         case BinaryApiCompatibility.Identical:
             return WithBuildIncremented(oldSemVer);
         case BinaryApiCompatibility.BackwardsCompatible:
             return WithMinorIncremented(oldSemVer);
         case BinaryApiCompatibility.Incompatible:
             return new Version(oldSemVer.Major + 1, 0, 0);
         default:
             throw new ArgumentOutOfRangeException("compatibility");
     }
 }
Exemplo n.º 4
0
        /// <remarks>The first 3 digits represent the SemVer - the last digit is always 0</remarks>
        public static Version GetNewSemanticVersion(this Version oldSemVer, BinaryApiCompatibility compatibility)
        {
            switch (compatibility)
            {
            case BinaryApiCompatibility.Identical:
                return(WithBuildIncremented(oldSemVer));

            case BinaryApiCompatibility.BackwardsCompatible:
                return(WithMinorIncremented(oldSemVer));

            case BinaryApiCompatibility.Incompatible:
                return(new Version(oldSemVer.Major + 1, 0, 0, 0));

            default:
                throw new ArgumentOutOfRangeException(nameof(compatibility));
            }
        }