protected override ChangeLogTaskResult Run(ApplicationChangeLog changeLog)
        {
            if (m_TagPatterns.Count == 0)
            {
                m_Logger.LogWarning("No tag patterns configured, skipping loading of versions from tags.");
                return(ChangeLogTaskResult.Skipped);
            }

            m_Logger.LogInformation("Loading versions from git tags");

            foreach (var versionInfo in GetVersions())
            {
                if (changeLog.ContainsVersion(versionInfo.Version))
                {
                    m_Logger.LogError($"Cannot add version '{versionInfo.Version}' from tags because the changelog already contains this version.");
                    return(ChangeLogTaskResult.Error);
                }

                m_Logger.LogDebug($"Adding version '{versionInfo.Version}' to changelog");
                var versionChangeLog = new SingleVersionChangeLog(versionInfo);
                changeLog.Add(versionChangeLog);
            }

            return(ChangeLogTaskResult.Success);
        }
Пример #2
0
        /// <summary>
        /// Gets the Markdown block for the specified version change log
        /// </summary>
        protected virtual MdBlock GetVersionBlock(SingleVersionChangeLog model)
        {
            var viewModel = new SingleVersionChangeLogViewModel(m_Configuration, model);

            return(new MdContainerBlock(
                       GetVersionHeaderBlock(viewModel),
                       GetVersionContentBlock(viewModel)
                       ));
        }
Пример #3
0
        protected SingleVersionChangeLog GetSingleVersionChangeLog(string version, string?commitId = null, params ChangeLogEntry[] entries)
        {
            var changelog = new SingleVersionChangeLog(
                new VersionInfo(
                    NuGetVersion.Parse(version),
                    commitId == null ? NextGitId() : new GitId(commitId)
                    ));

            foreach (var entry in entries)
            {
                changelog.Add(entry);
            }

            return(changelog);
        }
Пример #4
0
 public SingleVersionChangeLogViewModel(ChangeLogConfiguration configuration, SingleVersionChangeLog model)
 {
     m_Configuration          = configuration ?? throw new ArgumentNullException(nameof(configuration));
     m_Model                  = model ?? throw new ArgumentNullException(nameof(model));
     m_EntryTypeConfiguration = m_Configuration.EntryTypes.ToDictionary(kvp => new CommitType(kvp.Key), kvp => kvp.Value);
 }
 public SingleVersionChangeLogViewModel(ChangeLogConfiguration configuration, SingleVersionChangeLog model)
 {
     m_Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
     m_Model         = model ?? throw new ArgumentNullException(nameof(model));
     m_Types         = m_Configuration.EntryTypes.ToDictionary(c => new CommitType(c.Type));
 }