Commit 1bd52e6
chore(deps): update dependency org.ajoberstar.reckon:reckon-gradle to v0.18.0 (#72)
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.ajoberstar.reckon:reckon-gradle](https://togithub.com/ajoberstar/reckon)
| `0.16.1` -> `0.18.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>ajoberstar/reckon
(org.ajoberstar.reckon:reckon-gradle)</summary>
###
[`v0.18.0`](https://togithub.com/ajoberstar/reckon/releases/tag/0.18.0)
[Compare
Source](https://togithub.com/ajoberstar/reckon/compare/0.17.0...0.18.0)
This release decouples reckon from
[grgit](https://togithub.com/ajoberstar/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:
- You have to have `git` installed (which you almost certainly do)
- If you use `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 old `org.ajoberstar.grgit.*` properties or
`GRGIT_*` environment variables are no longer used.
Generally, we will be using the current user's identity (`user.email`
and `user.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
- [#​196](https://togithub.com/ajoberstar/reckon/issues/196) grgit
is completely removed from reckon (affecting authentication and tagging)
- [#​195](https://togithub.com/ajoberstar/reckon/issues/195)
`defaultInferredScope` no longer defaults to `minor` and must be set
explicitly
#### Enhancements
- [#​175](https://togithub.com/ajoberstar/reckon/issues/175) The
`Scope` enum is now accepted for `defaultInferredScope` and
`parallelBranchScope`
#### Fixes
- [#​91](https://togithub.com/ajoberstar/reckon/issues/91) You can
run your build with `--info` to see status details from JGit if reckon
fails due to an unclean repo
#### Deprecations
*None*
#### Compatibility
Tested against the following versions.
| Java Version | Gradle Versions |
|---------------|-------------------|
| 11 | 7.0.2, 7.6.1, 8.0.2, 8.1.1 |
| 17 | 7.3.3, 7.6.1, 8.0.2, 8.1.1 |
###
[`v0.17.0`](https://togithub.com/ajoberstar/reckon/releases/tag/0.17.0)
[Compare
Source](https://togithub.com/ajoberstar/reckon/compare/0.16.1...0.17.0)
This 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](https://togithub.com/ajoberstar/reckon/issues/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 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`.
```text
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
- [#​183](https://togithub.com/ajoberstar/reckon/issues/183)
Insignificant versions will never use the parallel version avoidance
logic. This is mainly targeted to benefit feature branches that aren't
up to date with your main branch, however it can also affect the main
branch if it hasn't been tagged since a parallel branch was created and
tagged.
#### Enhancements
- New `org.ajoberstar.reckon.settings` plugin that can be applied in
`settings.gradle` as an alternative to the normal plugin. This ensures
reckon gets configured before project plugins.
#### Fixes
- [#​180](https://togithub.com/ajoberstar/reckon/issues/180)
Parallel branch with two released versions will cause failure due to
claimed version
- [#​194](https://togithub.com/ajoberstar/reckon/issues/194)
Version inference exceptions are no longer buried by the "soft-fail"
logic in the project plugin
#### Deprecations
*None*
#### Compatibility
Tested against the following versions.
| Java Version | Gradle Versions |
|---------------|-------------------|
| 11 | 7.0.2, 7.6.1, 8.0.2, 8.1.1 |
| 17 | 7.3.3, 7.6.1, 8.0.2, 8.1.1 |
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Saturday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/petertrr/kotlin-multiplatform-diff).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS42My4xIiwidXBkYXRlZEluVmVyIjoiMzYuOC4xMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
---------
Co-authored-by: Peter Trifanov <peter.trifanov@gmail.com>1 parent da8a88f commit 1bd52e6
File tree
4 files changed
+7
-19
lines changed- buildSrc
- src/main/kotlin/io/github/petertrr
4 files changed
+7
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | | - | |
13 | 11 | | |
14 | 12 | | |
15 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | 12 | | |
14 | 13 | | |
15 | 14 | | |
| |||
Lines changed: 0 additions & 16 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
20 | 27 | | |
21 | 28 | | |
22 | 29 | | |
| |||
0 commit comments