0.17.0-beta.3
Pre-releaseThis release implements a new org.ajoberstar.reckon.settings
plugin that can be used as an alternative to org.ajoberstar.reckon
. This is applied in a settings.gradle
instead of a build.gradle
but is otherwise configured the same. By applying to Settings, it will run and be configured before any projects are evaluated, which should avoid the timing issues uncovered in #147.
Additionally we have improvements to version inference logic. Our prior parallel version logic allowed reckon to increment by the requested scope a second time in order to avoid a parallel version. However, if that version is also in the parallel branch, it would fail saying the version was already claimed.
In the new logic, you are able to set a parallelBranchScope
to indicate how you use your parallel branches. For example, people use branches like maintenance/1.2.x
should set it to MINOR
. Users of branches like maintenance/2.x
should set it to MAJOR.
When reckon identifies a conflict with a parallel branch, it will increment by the greater of the user-provided scope and parallelBranchScope
.
O abc123
O abc124 (v1.2.0)
| \
| O abc125 (v1.2.1)
O abc126
In the old logic, commit abc126
would infer as 1.2.2-alpha.0.1+abc126
where in the new logic (with parallelBranchScope=MINOR
) it would infer as 1.3.0-alpha.0.1+abc126
.
Breaking Changes
None
Enhancements
- New
org.ajoberstar.reckon.settings
plugin that can be applied insettings.gradle
as an alternative to the normal plugin. This ensures reckon gets configured before project plugins.
Fixes
- #180 Parallel branch with two released versions will cause failure due to claimed version
Deprecations
None
Compatibility
Tested against the following versions.
Java Version | Gradle Versions |
---|---|
11 | 7.0.2, 7.5.1 |
17 | 7.3.3, 7.5.1 |