spotless-changelog icon indicating copy to clipboard operation
spotless-changelog copied to clipboard

Integrate with GitHub releases

Open nedtwigg opened this issue 5 years ago • 1 comments

It would be useful to turn GitHub releases into a changelog, and vice-versa. Our Changelog.java would be helpful for this. In pseudocode:

import com.diffplug.spotless.changelog.Changelog;
import com.diffplug.spotless.changelog.Changelog.VersionEntry;

// this won't compile, but the main APIs are already present
Changelog empty = new Changelog("## [Unreleased]\n");
Changelog withGitHub = empty.withMutatedVersions(versions -> {
  for (GitHubRelease r : GitHubApi.releases()) {
    versions.add(VersionEntry.versionDate(r.version(), r.date())
      .setChanges(r.releaseNotes()));
  }
})
System.out.println(withGitHub.toStringUnix());

We'd be happy to merge any PRs which add GitHub integration (in either direction) into spotless-changelog-lib. Once that has been accomplished, we'd be happy to merge any PRs which add GitHub-related functionality into the gradle plugin.

nedtwigg avatar May 13 '20 21:05 nedtwigg

Addressed in https://github.com/diffplug/spotless/pull/2196.

Goooler avatar Aug 26 '24 02:08 Goooler