From b67c5a33de378bd72e5811bd1232d8f5c8e46cd3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 29 Jun 2018 23:17:26 -0700 Subject: [PATCH] Added reset of lower version numbers on increment. --- .../thauvin/erik/gradle/semver/SemverConfig.kt | 1 - .../net/thauvin/erik/gradle/semver/Version.kt | 13 ++++++++++--- .../erik/gradle/semver/SemverVersionSpec.kt | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 6c4f959..2b37e8b 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -32,7 +32,6 @@ package net.thauvin.erik.gradle.semver open class SemverConfig { - companion object { const val DEFAULT_KEY_PREFIX = "version." const val DEFAULT_PROPERTIES = "${DEFAULT_KEY_PREFIX}properties" diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index 3b0aded..4ea077c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -52,13 +52,20 @@ class Version { var separator = DEFAULT_SEPARATOR val semver: String - get()= "$major$separator$minor$separator$patch" + + get() = "$major$separator$minor$separator$patch" + (if (preRelease.isNotEmpty()) "$preReleasePrefix$preRelease" else "") + (if (buildMeta.isNotEmpty()) "$buildMetaPrefix$buildMeta" else "") fun increment(isMajor: Boolean = false, isMinor: Boolean = false, isPatch: Boolean = false) { - if (isMajor) major = (major.toInt() + 1).toString() - if (isMinor) minor = (minor.toInt() + 1).toString() + if (isMajor) { + major = (major.toInt() + 1).toString() + minor = "0" + patch = "0" + } + if (isMinor) { + minor = (minor.toInt() + 1).toString() + patch = "0" + } if (isPatch) patch = (patch.toInt() + 1).toString() } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 8cd7b79..5555b3f 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -61,10 +61,22 @@ object SemverVersionSpec : Spek({ assertEquals("2.1.1", version.semver) } } + on("increment patch") { + version.increment(isMinor = true) + it("should return 2.1.0") { + assertEquals("2.1.0", version.semver) + } + } + on("increment patch") { + version.increment(isMajor = true) + it("should return 3.0.0") { + assertEquals("3.0.0", version.semver) + } + } on("increment all") { version.increment(true, true, true) - it("should rerturn 3.2.2") { - assertEquals("3.2.2", version.semver) + it("should return 3.1.1") { + assertEquals("3.1.1", version.semver) } } on("reset version") {