コード例 #1
0
        /// <summary>
        /// Attempt to increment <see cref="BaseVersion"/> version.
        /// </summary>
        /// <param name="version">The base version found by <see cref="IBaseVersionCalculator"/>.</param>
        /// <param name="context">The context for calculating the <see cref="BaseVersion"/>.</param>
        /// <returns></returns>
        public static SemanticVersion MaybeIncrement(this BaseVersion version, IVersionContext context)
        {
            var strategy   = IncrementStrategyFactory.GetStrategy(context, version);
            var semVersion = version.Version;

            return(strategy.IncrementVersion(semVersion));
        }
コード例 #2
0
 private BaseVersion GetResultBaseVersion(BaseVersion maxVersion, ICommit oldestCommit)
 {
     return(new BaseVersion(
                maxVersion.Type,
                maxVersion.Version,
                oldestCommit,
                maxVersion.ShouldIncrement));
 }
コード例 #3
0
        public IEnumerable <BaseVersion> GetVersions(IVersionContext context)
        {
            var commitsPriorToThan = context.CurrentBranch
                                     .CommitsPriorToThan(context, context.CurrentCommit.When);

            var baseVersions = commitsPriorToThan
                               .SelectMany(c =>
            {
                if (TryParse(c, context, out var semanticVersion))
                {
                    var shouldIncrement = !context.Configuration.PreventIncrementForMergedBranchVersion;
                    var baseVersion     = new BaseVersion(FormatType(c), semanticVersion, c, shouldIncrement);

                    return(new[] { baseVersion });
                }

                return(Enumerable.Empty <BaseVersion>());
            }).ToList();

            return(baseVersions);
        }
コード例 #4
0
 public BaseVersionTuple(SemanticVersion incrementedVersion, BaseVersion version)
 {
     IncrementedVersion = incrementedVersion;
     Version            = version;
 }