From 6c2de37f1f1a6c0c596cfdfb6bcc17b6f437108e Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 26 May 2022 17:45:36 +0200 Subject: [PATCH] Fixing the way calver release train version is updated; fixes gh-253 --- .../releaser/internal/project/ProjectVersion.java | 12 ++++++------ .../internal/buildsystem/ProjectVersionTests.java | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java index be0a9394..6d3f72e7 100644 --- a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java +++ b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java @@ -173,7 +173,7 @@ public class ProjectVersion implements Comparable, Serializable } private SplitVersion bumpedVersion(SplitVersion splitVersion) { - if (splitVersion.isReleaseTrain()) { + if (splitVersion.isReleaseTrain() && !splitVersion.isCalverReleaseTrain()) { return splitVersion; } return splitVersion.fullVersionWithIncrementedPatch(); @@ -191,7 +191,7 @@ public class ProjectVersion implements Comparable, Serializable throw new IllegalStateException("Version can't end with a delimiter!"); } SplitVersion splitByHyphen = tryHyphenSeparatedVersion(version); - if (splitByHyphen != null && !splitByHyphen.calverReleaseTrain()) { + if (splitByHyphen != null) { return splitByHyphen; } return dotSeparatedReleaseTrainsAndVersions(version); @@ -310,11 +310,11 @@ public class ProjectVersion implements Comparable, Serializable } public boolean isCalver() { - return this.assertVersion().calverReleaseTrain(); + return this.assertVersion().isCalverReleaseTrain(); } public String majorAndMinor() { - return this.assertVersion().major + this.assertVersion().delimiter + this.assertVersion().minor; + return this.assertVersion().major + "." + this.assertVersion().minor; } /** @@ -741,10 +741,10 @@ public class ProjectVersion implements Comparable, Serializable // 2020.0.0-SNAPSHOT or Hoxton-BUILD-SNAPSHOT or 2020.x.x private boolean isReleaseTrain() { - return isOldReleaseTrain() || calverReleaseTrain(); + return isOldReleaseTrain() || isCalverReleaseTrain(); } - public boolean calverReleaseTrain() { + public boolean isCalverReleaseTrain() { try { return Integer.parseInt(this.major) >= 2020; } diff --git a/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java b/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java index 90bc4e5f..5ece9657 100644 --- a/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java +++ b/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java @@ -200,6 +200,13 @@ public class ProjectVersionTests { then(projectVersion(version).postReleaseSnapshotVersion()).isEqualTo("1.0.2-SNAPSHOT"); } + @Test + public void should_bump_version_by_patch_version_when_bumping_releases_with_new_notation() { + String version = "2021.0.0"; + + then(projectVersion(version).postReleaseSnapshotVersion()).isEqualTo("2021.0.1-SNAPSHOT"); + } + @Test public void should_bump_version_by_patch_version_when_bumping_releases_with_hyphen() { String version = "1.0.1-RELEASE";