Example #1
0
        public void TestVersionIncrement()
        {
            ChangeVersionParser parser = new ChangeVersionParser("*.*.*.+1", new ConsoleLogWriter());

            Assert.Equal("1.0.0.1", parser.ChangeVersion("1.0.0.0"));
            parser = new ChangeVersionParser("*.*.+1000.*", new ConsoleLogWriter());
            Assert.Equal("1.0.1001.0", parser.ChangeVersion("1.0.1.0"));
        }
        public void Execute()
        {
            TagVersionInfo currentVersion       = null;
            string         versionChangePattern = null;

            if (IsInHotfixBranch())
            {
                currentVersion       = GetHotFixVersion();
                versionChangePattern = Task.HotfixVersionPattern;
            }

            if (currentVersion == null)
            {
                currentVersion = GetMasterVersion();
            }

            if (string.IsNullOrWhiteSpace(versionChangePattern))
            {
                versionChangePattern = Task.MasterVersionPattern;
            }

            if (currentVersion == null)
            {
                currentVersion = new TagVersionInfo(null, CreateDefaultVersion());
            }

            ChangeVersionParser parser = new ChangeVersionParser(versionChangePattern, Task);

            NewVersion = new Version(parser.ChangeVersion(currentVersion.Version.ToString()));
            TagName    = BuildVersionTag(GitTagProvider.CurrentBranchName, NewVersion.ToString());

            if (!string.IsNullOrWhiteSpace(currentVersion.TagName))
            {
                Task.ReleaseNotes = GitTagProvider.GetDescriptionsSinceTag(currentVersion.TagName);
            }
        }