Use gradle-git for version and tagging #8
Merged
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 leverages gradle-git plugin and its release-base plugin. Removes git command-line dependency from build as well as tasks for tagging and pushing changes.
Current config will build a SNAPSHOT if nothing is passed for release.stage.
As per notes below, -Prelease.stage= controls version. Based on the stage, it will increment the build number and possibly add rc.#, mileston.# to end.
The release tag does the tagging and push of tag. Just passing the release.stage property will affect the version used to perform the gradle actions, so can preview version numbering before executing.
Build would be gradle bintrayUpload release -Prelease.stage=final
If you like this approach, I'll also add it to the other repos.
=== If local repository is dirty
-Always builds a SNAPSHOT version.
-Will complain that 'Stage {} is not one of [SNAPSHOT] allowed for strategy snapshot.'