Skip to content

Commit 88d0990

Browse files
author
Joel Mongård
committed
refactor: Move internal parsePreRelease method
1 parent 586033a commit 88d0990

File tree

3 files changed

+27
-18
lines changed

3 files changed

+27
-18
lines changed

src/main/kotlin/git/semver/plugin/semver/MutableSemVersion.kt

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,34 +42,21 @@ internal class MutableSemVersion(
4242
getIntValue("Major"),
4343
getIntValue("Minor"),
4444
getIntValue("Patch"),
45-
parsePreRelease(getValue("PreRelease"))
45+
PreRelease.parse(getValue("PreRelease"))
4646
),
4747
getIntValue("Revision")
4848
)
4949
logger.debug("Found version: {} in: '{}'", version, refInfo.text)
5050
return version
5151
}
5252

53-
internal fun parsePreRelease(value: String?): PreRelease {
54-
if (value == null) {
55-
return PreRelease.noPreRelease
56-
}
57-
58-
val prefix = value.trimEnd { it.isDigit() }
59-
return PreRelease(prefix,
60-
if (prefix.length < value.length)
61-
value.substring(prefix.length).toInt()
62-
else
63-
null)
64-
}
65-
6653
fun isRelease(commit: IRefInfo, settings: SemverSettings): Boolean {
6754
return settings.releaseRegex.containsMatchIn(commit.text)
6855
}
6956
}
7057

71-
internal fun setPreRelease(value: String?) {
72-
preRelease = parsePreRelease(value)
58+
internal fun setPreRelease(release: PreRelease) {
59+
preRelease = release
7360
}
7461

7562
override fun compareTo(other: MutableSemVersion): Int {
@@ -253,4 +240,13 @@ internal class MutableSemVersion(
253240
fun toSemVersion(): SemInfoVersion {
254241
return SemInfoVersion(sha, major, minor, patch, preRelease, commitCount, initialVersion)
255242
}
243+
244+
override fun toString(): String {
245+
return "MutableSemVersion(sha='$sha', initialVersion=$initialVersion," +
246+
" major=$major, minor=$minor, patch=$patch, preRelease=$preRelease," +
247+
" bumpMajor=$bumpMajor, bumpMinor=$bumpMinor, bumpPatch=$bumpPatch, bumpPre=$bumpPre," +
248+
" commitCount=$commitCount)"
249+
}
250+
251+
256252
}

src/main/kotlin/git/semver/plugin/semver/PreRelease.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,19 @@ package git.semver.plugin.semver
33
data class PreRelease(val prefix: String, val number: Int?) {
44
companion object {
55
val noPreRelease = PreRelease("", null)
6+
7+
fun parse(value: String?): PreRelease {
8+
if (value == null) {
9+
return noPreRelease
10+
}
11+
12+
val prefix = value.trimEnd { it.isDigit() }
13+
return PreRelease(prefix,
14+
if (prefix.length < value.length)
15+
value.substring(prefix.length).toInt()
16+
else
17+
null)
18+
}
619
}
720

821
val isPreRelease

src/main/kotlin/git/semver/plugin/semver/VersionFinder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class VersionFinder(private val settings: SemverSettings, private val tags: Map<
1414
val updated = semVersion.applyPendingChanges(isModified && !settings.noAutoBump, settings.groupVersionIncrements)
1515

1616
if (!semVersion.isPreRelease && updated) {
17-
semVersion.setPreRelease(defaultPreRelease)
17+
semVersion.setPreRelease(PreRelease.parse(defaultPreRelease))
1818
}
1919
return semVersion.toSemVersion()
2020
}
@@ -25,7 +25,7 @@ class VersionFinder(private val settings: SemverSettings, private val tags: Map<
2525
semVersion.applyPendingChanges(!semVersion.isPreRelease || "" != newPreRelease, settings.groupVersionIncrements)
2626

2727
if (newPreRelease != null) {
28-
semVersion.setPreRelease(newPreRelease)
28+
semVersion.setPreRelease(PreRelease.parse(newPreRelease))
2929
}
3030
return semVersion.toSemVersion()
3131
}

0 commit comments

Comments
 (0)