Example #1
0
        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}
            };
        }
Example #3
0
        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 }
            });
        }