Added reset of lower version numbers on increment.

This commit is contained in:
Erik C. Thauvin 2018-06-29 23:17:26 -07:00
parent 6d20d5f9d0
commit b67c5a33de
3 changed files with 24 additions and 6 deletions

View file

@ -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"

View file

@ -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()
}
}

View file

@ -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") {