Skip to content

Commit 1bd52e6

Browse files
chore(deps): update dependency org.ajoberstar.reckon:reckon-gradle to v0.18.0 (#72)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](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` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.ajoberstar.reckon:reckon-gradle/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.ajoberstar.reckon:reckon-gradle/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.ajoberstar.reckon:reckon-gradle/0.16.1/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.ajoberstar.reckon:reckon-gradle/0.16.1/0.18.0?slim=true)](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 - [#&#8203;196](https://togithub.com/ajoberstar/reckon/issues/196) grgit is completely removed from reckon (affecting authentication and tagging) - [#&#8203;195](https://togithub.com/ajoberstar/reckon/issues/195) `defaultInferredScope` no longer defaults to `minor` and must be set explicitly #### Enhancements - [#&#8203;175](https://togithub.com/ajoberstar/reckon/issues/175) The `Scope` enum is now accepted for `defaultInferredScope` and `parallelBranchScope` #### Fixes - [#&#8203;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 [#&#8203;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 - [#&#8203;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 - [#&#8203;180](https://togithub.com/ajoberstar/reckon/issues/180) Parallel branch with two released versions will cause failure due to claimed version - [#&#8203;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

4 files changed

+7
-19
lines changed

build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import io.github.petertrr.configurePublishing
2-
import io.github.petertrr.configureVersioning
32
import io.gitlab.arturbosch.detekt.Detekt
43
import org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmTest
54

@@ -9,7 +8,6 @@ plugins {
98
alias(libs.plugins.detekt)
109
}
1110

12-
configureVersioning()
1311
group = "io.github.petertrr"
1412
description = "A multiplatform Kotlin library for calculating text differences"
1513

buildSrc/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ repositories {
99

1010
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
1111
dependencies {
12-
implementation("org.ajoberstar.reckon:reckon-gradle:0.16.1")
1312
implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.8.10")
1413
implementation("io.github.gradle-nexus:publish-plugin:1.3.0")
1514
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${libs.findVersion("kotlin").get()}")

buildSrc/src/main/kotlin/io/github/petertrr/VersioningConfiguration.kt

Lines changed: 0 additions & 16 deletions
This file was deleted.

settings.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pluginManagement {
77

88
plugins {
99
id("com.gradle.enterprise") version("3.13.4")
10+
id("org.ajoberstar.reckon.settings") version("0.18.0")
1011
}
1112

1213
rootProject.name = "kotlin-multiplatform-diff"
@@ -17,6 +18,12 @@ dependencyResolutionManagement {
1718
}
1819
}
1920

21+
extensions.configure<org.ajoberstar.reckon.gradle.ReckonExtension> {
22+
setDefaultInferredScope("minor")
23+
scopeFromProp()
24+
stageFromProp("alpha", "rc", "final") // version string will be based on last commit; when checking out a tag, that
25+
}
26+
2027
if (System.getenv("CI") != null) {
2128
gradleEnterprise {
2229
buildScan {

0 commit comments

Comments
 (0)