/** * @param workDir the working directory where 'git' operations will be executed * @param gitHubApiUrl GitHub API endpoint address, for example: https://api.github.com * @param gitHubRepository GitHub gitHubRepository in format USER|COMPANY/REPO_NAME, for example: mockito/mockito * @param readOnlyAuthToken read only auth token used to communicate with GitHub * @param ignoredCommit responsible for deciding if commits should not be included in release notes */ public static ReleaseNotesGenerator releaseNotesGenerator(File workDir, String gitHubApiUrl, String gitHubRepository, String readOnlyAuthToken, Predicate<Commit> ignoredCommit) { ProcessRunner processRunner = Exec.getProcessRunner(workDir); ContributionsProvider contributionsProvider = Vcs.getContributionsProvider(processRunner, ignoredCommit); ImprovementsProvider improvementsProvider = Improvements.getGitHubProvider(gitHubApiUrl, gitHubRepository, readOnlyAuthToken); ReleasedVersionsProvider releasedVersionsProvider = Vcs.getReleaseDateProvider(processRunner); return new DefaultReleaseNotesGenerator(contributionsProvider, improvementsProvider, releasedVersionsProvider); } }
/** * @param workDir the working directory where 'git' operations will be executed * @param gitHubApiUrl GitHub API endpoint address, for example: https://api.github.com * @param gitHubRepository GitHub gitHubRepository in format USER|COMPANY/REPO_NAME, for example: mockito/mockito * @param readOnlyAuthToken read only auth token used to communicate with GitHub * @param ignoredCommit responsible for deciding if commits should not be included in release notes */ public static ReleaseNotesGenerator releaseNotesGenerator(File workDir, String gitHubApiUrl, String gitHubRepository, String readOnlyAuthToken, Predicate<Commit> ignoredCommit) { ProcessRunner processRunner = Exec.getProcessRunner(workDir); ContributionsProvider contributionsProvider = Vcs.getContributionsProvider(processRunner, ignoredCommit); ImprovementsProvider improvementsProvider = Improvements.getGitHubProvider(gitHubApiUrl, gitHubRepository, readOnlyAuthToken); ReleasedVersionsProvider releasedVersionsProvider = Vcs.getReleaseDateProvider(processRunner); return new DefaultReleaseNotesGenerator(contributionsProvider, improvementsProvider, releasedVersionsProvider); } }
/** * @param workDir the working directory where 'git' operations will be executed * @param gitHubApiUrl GitHub API endpoint address, for example: https://api.github.com * @param gitHubRepository GitHub gitHubRepository in format USER|COMPANY/REPO_NAME, for example: mockito/mockito * @param readOnlyAuthToken read only auth token used to communicate with GitHub * @param ignoredCommit responsible decide if commits should not be included in release notes */ public static ReleaseNotesGenerator releaseNotesGenerator(File workDir, String gitHubApiUrl, String gitHubRepository, String readOnlyAuthToken, Predicate<Commit> ignoredCommit) { ProcessRunner processRunner = Exec.getProcessRunner(workDir); ContributionsProvider contributionsProvider = Vcs.getContributionsProvider(processRunner, ignoredCommit); ImprovementsProvider improvementsProvider = Improvements.getGitHubProvider(gitHubApiUrl, gitHubRepository, readOnlyAuthToken); ReleasedVersionsProvider releasedVersionsProvider = Vcs.getReleaseDateProvider(processRunner); GitHubContributorsProvider contributorsProvider = Contributors.getGitHubContributorsProvider(gitHubApiUrl, gitHubRepository, readOnlyAuthToken); return new DefaultReleaseNotesGenerator(contributionsProvider, improvementsProvider, releasedVersionsProvider, contributorsProvider); } }