public ChangeLogUpdater(IGitHubClientFactory gitHubClientFactory, IEnumerable <IDocumentFormatter> documentFormatters, IOptions <AutoGitReleaseOptions> options) { _gitHubClientFactory = gitHubClientFactory; _documentFormatters = documentFormatters; _options = options.Value; }
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); }
public DefaultFormatter(IOptions <AutoGitReleaseOptions> options) { _options = options.Value; }