/// <summary> /// Initializes the release notest creator. /// </summary> /// <param name="repositoryRootDirectory">The root directory of the local git repository.</param> /// <param name="githubToken">A token used for GitHub API authentication.</param> /// <param name="configFile">The configuration file to use.</param> public ReleaseNotesCreator( DirectoryInfo repositoryRootDirectory, string githubToken, FileInfo configFile) : this( repositoryRootDirectory, githubToken, ReleaseNotesConfiguration.FromFile(configFile)) { }
/// <summary> /// Initializes the release notest creator. /// </summary> /// <remarks> /// This constructor will look for a configuration file /// in <paramref name="repositoryRootDirectory"/> and the current directory /// if not found in <paramref name="repositoryRootDirectory"/>. /// </remarks> /// <param name="repositoryRootDirectory">The root directory of the local git repository.</param> /// <param name="githubToken">A token used for GitHub API authentication.</param> public ReleaseNotesCreator(DirectoryInfo repositoryRootDirectory, string githubToken) : this( repositoryRootDirectory, githubToken, ReleaseNotesConfiguration.FindInDirectory(repositoryRootDirectory) ?? ReleaseNotesConfiguration.FindInDirectory( new DirectoryInfo(Directory.GetCurrentDirectory())) ?? new ReleaseNotesConfiguration()) { }
/// <summary> /// Initializes the release notest creator. /// </summary> /// <param name="repositoryRootDirectory">The root directory of the local git repository.</param> /// <param name="githubToken">A token used for GitHub API authentication.</param> /// <param name="configuration">The configuration to use.</param> public ReleaseNotesCreator( DirectoryInfo repositoryRootDirectory, string githubToken, ReleaseNotesConfiguration configuration) { _localRepository = new LocalGitRepository(repositoryRootDirectory.FullName); _gitHubRepository = GitHubRepository.FindByRemotes(_localRepository.Remotes); _gitHubApi = new GitHubApi(_gitHubRepository, githubToken); _configuration = configuration; _configuration.EnsureValid(); }