8000 GitHub - swiftzer/semver: Kotlin data class for Semantic Versioning 2.0.0 specification (SemVer)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

swiftzer/semver

Repository files navigation

SemVer

codecov

Kotlin data class for Semantic Versioning 2.0.0 specification with Kotlin Multiplatform and Kotlin Serialization support.

Support parsing version number string and comparing version numbers using Comparable interface.

Installation

Gradle

repositories {
    mavenCentral()
}

dependencies {
    implementation("net.swiftzer.semver:semver:2.1.0")
}

Usage

Parsing version number

val version: SemVer = SemVer.parse("1.0.0-beta+exp.sha.5114f85")

version.major // 1
version.minor // 0
version.patch // 0
version.preRelease // "beta"
version.buildMetadata // "exp.sha.5114f85"

Comparing version numbers

val semVer1 = SemVer(1, 0, 0)
val semVer2 = SemVer(1, 0, 2)
assertTrue(semVer1 < semVer2)

Creating next version numbers

val semVer = SemVer(1, 3, 5)
assertEquals(SemVer(1, 3, 6), semVer.nextPatch())
assertEquals(SemVer(1, 4, 0), semVer.nextMinor())
assertEquals(SemVer(2, 0, 0), semVer.nextMajor())

About

Kotlin data class for Semantic Versioning 2.0.0 specification (SemVer)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages

0