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"));
        }
Example #2
0
        public void ChangeVersionExplicitNamespaceTest()
        {
            string versionCode         = "[assembly: System.Reflection.AssemblyVersion(\"1.0.0.0\")]\r\n";
            ChangeVersionParser parser = new ChangeVersionParser("2.0.0.0", new Mock <ILogWriter>().Object);
            var sw = new StringWriter();

            parser.ProcessAssemblyInfo(new StringReader(versionCode), sw);
            Assert.Equal("[assembly: System.Reflection.AssemblyVersion(\"2.0.0.0\")]\r\n", sw.ToString());
        }
Example #3
0
        public void ChangeSmallerVersionTest()
        {
            string versionCode         = "using System.Reflection;\r\n[assembly: AssemblyVersion(\"2.0.0.0\")]\r\n";
            ChangeVersionParser parser = new ChangeVersionParser("1.0.0.0", new Mock <ILogWriter>().Object);
            var sw = new StringWriter();

            parser.ProcessAssemblyInfo(new StringReader(versionCode), sw);
            Assert.Equal("using System.Reflection;\r\n[assembly: AssemblyVersion(\"2.0.0.0\")]\r\n", sw.ToString());
        }
        private void PatchVersion()
        {
            ChangeVersionParser parser = new ChangeVersionParser(NewVersion, this);

            foreach (var fileItem in Files)
            {
                if (!File.Exists(fileItem.ItemSpec))
                {
                    File.WriteAllText(fileItem.ItemSpec, "[assembly: System.Reflection.AssemblyVersion(\"0.0.0.0\")]\r\n");
                }
                parser.ProcessAssemblyInfo(fileItem.ItemSpec);
            }
        }
Example #5
0
        public override bool Execute()
        {
            ChangeVersionParser parser = new ChangeVersionParser(Version, this);

            if (Files == null || Files.Length == 0)
            {
                Log.LogError("No version files specified");
                return(false);
            }

            foreach (ITaskItem item in Files)
            {
                NewVersion = parser.ProcessAssemblyInfo(item.ItemSpec)?.ToString();
            }

            return(!string.IsNullOrEmpty(NewVersion));
        }
        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);
            }
        }