Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the integration of an additional solution for creating the changelog.
In general it requires the installation of https://github.com/skywinder/github-changelog-generator as a ruby gem on ones local machine.
The generator ends up as a binary on your system that can be called via a shell. There's not gradle task for it. The code in this pull request provides a task documentation/githubChangelogGenerator that relies on two bash scripts that have been added to the repo.
The first one, getLatestTag.sh retrieves the most current tag from the repo. This then gets passed in as the "since"-parameter into writeChangelog.sh (which itself then calls githubChangelogGenerator).
All this currently relies on being on a Mac OS X system (or Linux with marginal changes) and some of the paths are hardcoded. I can run it fine, see the newly generated CHANGELOG.md in this branch. You can see that it has "custom" content for 1.2.0 and 1.2.2 and is currently showing all the content for all tags (... 1.2.2, 1.3.0-RC1, 1.3.0-RC2)
The idea is that from NOW onwards, whenever a new tag is added to the repo, the Gradle task is being executed. For the next tag, let's say "CFLint-1.3.0" , said tag will then be passed as "since" into the changelog tool, run the changelog with that parameter and prepend that to the existing file (leaving all the custom content untouched). Then one could write a few lines that sum up the big items/themes of a release, add to the CHANGELOG file manually, save and commit/push.
NOTE: The current changelog generator (gitChangelog) is still there, also moved to the documentation group in Gradle and renamed from gitChangelogTask to gitChangelog.
Caveeats:
git tag -l --format="%(creatordate:iso8601)|%(refname:short)" | sort -r | head -n 1 | awk -F'|' '{print $2}'