Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ semver Public
forked from swiftzer/semver

Kotlin data class for Semantic Versioning 2.0.0 specification (SemVer)

License

Notifications You must be signed in to change notification settings

Goooler/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)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%