Пример #1
0
 public ChangeLogUpdater(IGitHubClientFactory gitHubClientFactory,
                         IEnumerable <IDocumentFormatter> documentFormatters, IOptions <AutoGitReleaseOptions> options)
 {
     _gitHubClientFactory = gitHubClientFactory;
     _documentFormatters  = documentFormatters;
     _options             = options.Value;
 }
Пример #2
0
        public static IAutoGitBuilder AddReleaseNoteGenerator(this IAutoGitBuilder builder,
                                                              Action <AutoGitReleaseOptions> setupAction = null)
        {
            var releaseOptions = new AutoGitReleaseOptions();

            setupAction?.Invoke(releaseOptions);

            builder.Services.Configure(setupAction);

            builder.AddWebHookHandlers(options =>
            {
                if (releaseOptions.ManageReleaseNotes)
                {
                    options.AddHandler <ReleaseCreatedHandler>();
                }
            });

            builder.Services.AddTransient <ICommitFinder, CommitFinder>();

            if (releaseOptions.ManageReleaseNotes)
            {
                builder.Services.AddTransient <IDocumentUpdater, ReleaseNoteUpdater>();
                builder.Services.AddTransient <IDocumentFormatter, DefaultFormatter>();
            }

            if (releaseOptions.ManageChangeLog)
            {
                builder.Services.AddTransient <IDocumentUpdater, ChangeLogUpdater>();
                builder.Services.AddTransient <IDocumentFormatter, DefaultFormatter>();
            }

            return(builder);
        }
Пример #3
0
 public DefaultFormatter(IOptions <AutoGitReleaseOptions> options)
 {
     _options = options.Value;
 }