public void PullRequestsAreTaggedWithPreReleaseSemverTag()
        {
            _lastTaggedReleaseFinder.GetVersion().Returns(new VersionTaggedCommit(null, null));
            _buildServer.IsBuildingAPullRequest(Arg.Any <IRepository>()).Returns(true);
            _buildServer.CurrentPullRequestNo(Arg.Any <Branch>()).Returns(3);
            _gitHelper.NumberOfCommitsOnBranchSinceCommit(Arg.Any <Branch>(), Arg.Any <Commit>()).Returns(5);
            var semver = new SemanticVersion(0, 1, 2);

            _nextSemver.NextVersion().Returns(semver);

            var buildNumber = _sut.GetBuildNumber();

            Assert.Equal("0.1.2-PullRequest3+005", buildNumber.ToString());
        }
Exemplo n.º 2
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);
        }