/// <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)); }
private BaseVersion GetResultBaseVersion(BaseVersion maxVersion, ICommit oldestCommit) { return(new BaseVersion( maxVersion.Type, maxVersion.Version, oldestCommit, maxVersion.ShouldIncrement)); }
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); }
public BaseVersionTuple(SemanticVersion incrementedVersion, BaseVersion version) { IncrementedVersion = incrementedVersion; Version = version; }