Update plugin org.ajoberstar.reckon to v0.18.1 #15
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 PR contains the following updates:
0.13.0
->0.18.1
Release Notes
ajoberstar/reckon (org.ajoberstar.reckon)
v0.18.1
Compare Source
Small patch release to update dependencies and resolve a deprecation.
Breaking Changes
None
Enhancements
None
Fixes
forUseAtConfigurationTime
function from GradleDeprecations
None
Compatibility
Tested against the following versions.
v0.18.0
Compare Source
This release decouples reckon from grgit, using direct
JGit
for version inference and CLI Git for tag creation and pushes. The motivation is selfishly just to simplify maintenance of reckon.For most cases, this should be a transparent change, but it does have a few potentially user-facing effects:
git
installed (which you almost certainly do)reckonTagPush
, you must have your credentials set up already in some way that won't require a prompt (basic auth creds, SSH agent, whatever). The oldorg.ajoberstar.grgit.*
properties orGRGIT_*
environment variables are no longer used.Generally, we will be using the current user's identity (
user.email
anduser.name
) to create the tag. In cases where that information is not present (for example, in GitHub Actions), we'll use the author identity from the most recent commit.This release contains a couple other small changes as well, see below.
Breaking Changes
defaultInferredScope
no longer defaults tominor
and must be set explicitlyEnhancements
Scope
enum is now accepted fordefaultInferredScope
andparallelBranchScope
Fixes
--info
to see status details from JGit if reckon fails due to an unclean repoDeprecations
None
Compatibility
Tested against the following versions.
v0.17.0
Compare Source
This release implements a new
org.ajoberstar.reckon.settings
plugin that can be used as an alternative toorg.ajoberstar.reckon
. This is applied in asettings.gradle
instead of abuild.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. The settings plugin does not have the same "soft-fail" workaround that the project plugin has, as it should not be needed.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 likemaintenance/1.2.x
should set it toMINOR
. Users of branches likemaintenance/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
.In the old logic, commit
abc126
would infer as1.2.2-alpha.0.1+abc126
where in the new logic (withparallelBranchScope=MINOR
) it would infer as1.3.0-alpha.0.1+abc126
.Breaking Changes
Enhancements
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
Deprecations
None
Compatibility
Tested against the following versions.
v0.16.1
Compare Source
This provides a fix for NullPointerExceptions that have become more common with changes in Gradle 7.4 that stem from evaluation order issues and other plugins that call
project.getVersion().toString()
at configuration time. This allows builds to work, though there is some small risk that some config in the project will have the incorrect versionunspecified
instead of the desired version reckon would calculate.In the cases where you see the following warning:
You can rerun the build with
--info
to see the exception that would have been thrown in prior versions. This can help you track down which plugin is too eagerly evaluating the version, in case you want to try to fix that.Breaking Changes
None
Enhancements
Fixes
Deprecations
None
Compatibility
Tested against the following versions.
v0.16.0
Compare Source
The highlight of 0.16.0 is support for scope inference via commit messages. See the README for details.
General commit message format reckon looks for:
Example:
This feature is not limited to this convention alone, but this is the one I made easy to turn on.
Breaking Changes
None
Enhancements
Fixes
None
Deprecations
None
Compatibility
Tested against the following versions.
v0.15.0
Compare Source
Many new configuration options on the
ReckonExtension
addressing long asked for features.Breaking Changes
None
Enhancements
reckon.tagParser
andreckon.tagWriter
to customize how versions are found from tags and named when created. This can be useful for monrepos.reckon.tagMessage
to customize how tag messages are createdreckon.defaultInferredScope
to customize what scope is used if no input is providedreckon.remote
to override which remote the tag is pushed toFixes
Deprecations
None
Compatibility
Tested against the following versions.
v0.14.0
Compare Source
Upgrades to Grgit 5 and supports Gradle's configuration cache
Breaking Changes
reckon.setNormal()
andreckon.setStage()
methodsEnhancements
--configuration-cache
Provider<Version>
to allow access to the metadata of the version #156Fixes
None
Deprecations
None
Compatibility
Tested against the following versions.
v0.13.2
Compare Source
Drop publishing directly to Gradle plugin portal to really ensure POM references static versions. Plugin is still published to Maven Central (which the Gradle plugin portal proxies), so no changes should be needed from consumers.
Breaking Changes
None
Enhancements
None
Fixes
Deprecations
None
Compatibility
Tested against the following versions.
v0.13.1
Compare Source
Publish to Maven Central and ensure POM references static versions.
Breaking Changes
None
Enhancements
None
Fixes
Deprecations
None
Compatibility
Tested against the following versions.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.