public SemanticVersion GetBuildNumber() { var commitsSinceLastRelease = _gitHelper.NumberOfCommitsOnBranchSinceCommit(_gitRepo.Head, _lastTaggedReleaseFinder.GetVersion().Commit); SemanticVersion semanticVersion = _nextSemverCalculator.NextVersion(); if (_buildServer.IsBuildingAPullRequest(_gitRepo)) { _gitHelper.EnsurePullBranchShareACommonAncestorWithMaster(_gitRepo, _gitRepo.Head); semanticVersion = semanticVersion.WithSuffix("PullRequest" + _buildServer.CurrentPullRequestNo(_gitRepo.Head)); } var withBuildMetaData = semanticVersion.WithBuildMetaData(commitsSinceLastRelease); Console.WriteLine("Version number is '{0}'", withBuildMetaData); return(withBuildMetaData); }
public Dictionary<string, string> GetVariables(SemanticVersion nextBuildNumber) { string numOfCommitsSinceRelease = nextBuildNumber.BuildMetaData == null ? "<unknown>" : nextBuildNumber.BuildMetaData.ToString(); return new Dictionary<string, string> { {"GitHubFlowVersion_FullSemVer", nextBuildNumber.ToString()}, {"GitHubFlowVersion_SemVer", nextBuildNumber.WithBuildMetaData(null).ToString()}, {"GitHubFlowVersion_AssemblySemVer", nextBuildNumber.WithSuffix(null).WithBuildMetaData(null)+".0"}, {"GitHubFlowVersion_FourPartVersion", nextBuildNumber.ToVersion().ToString()}, {"GitHubFlowVersion_Major", nextBuildNumber.Major.ToString() }, {"GitHubFlowVersion_Minor", nextBuildNumber.Minor.ToString() }, {"GitHubFlowVersion_Patch", nextBuildNumber.Patch.ToString() }, {"GitHubFlowVersion_NumCommitsSinceRelease", numOfCommitsSinceRelease}, {"GitHubFlowVersion_Tag", nextBuildNumber.Suffix} }; }
public Dictionary <string, string> GetVariables(SemanticVersion nextBuildNumber) { var numOfCommitsSinceRelease = nextBuildNumber.BuildMetaData == null ? "<unknown>" : nextBuildNumber.BuildMetaData.ToString(); var fullSemanticVersion = nextBuildNumber.ToString(); return(new Dictionary <string, string> { { FullSemVer, fullSemanticVersion }, { SemVer, nextBuildNumber.WithBuildMetaData(null).ToString() }, { AssemblyVersion, new Version(nextBuildNumber.Major, nextBuildNumber.Minor, 0, 0).ToString() }, { AssemblyFileVersion, nextBuildNumber.WithSuffix(null).ToVersion().ToString() }, { AssemblyInformationalVersion, fullSemanticVersion }, { FourPartVersion, nextBuildNumber.ToVersion().ToString() }, { Major, nextBuildNumber.Major.ToString() }, { Minor, nextBuildNumber.Minor.ToString() }, { Patch, nextBuildNumber.Patch.ToString() }, { NumCommitsSinceRelease, numOfCommitsSinceRelease }, { Tag, nextBuildNumber.Suffix } }); }