-
Notifications
You must be signed in to change notification settings - Fork 0
Home
musk edited this page Aug 12, 2021
·
3 revisions
DRAFT
A library used for managing semantic versions according to Semantic Versioning 2.0.0 published under the MIT License written in Kotlin
The library is available from Maven Central To use it simply add a dependency to your project
<dependency>
<groupId>io.github.musk.semver</groupId>
<artifactId>semver-library</artifactId>
<version>1.0.0</version>
</dependency>
Using Groovy DSL
implementation 'io.github.musk.semver:semver-library:1.0.0'
Using Kotlin DSL
implementation("io.github.musk.semver:semver-library:1.0.0")
val version = "1.2.3-BETA+421a234fdef"
if (Semver.validate()) {
val semver = Semver(version)
println(semver.major) // prints 1
println(semver.minor) // prints 2
println(semver.patch) // prints 3
println(semver.prerel) // prints "BETA"
println(semver.build) // prints "421a234fdef"
println(semver.patch()) // prints 1.2.4
println(semver.minor()) // prints 1.3.0
println(semver.major()) // prints 2.0.0
println(semver.prerel("TEST")) // prints 1.2.3-TEST
println(semver.build("12345AB")) // prints 1.2.3-BETS+12345AB
println(semver.release()) // prints 1.2.3
val otherVersion = Semver(semver.major, semver.minor, 10, "A-LABEL", "76abfe42af")
val equalVersion = otherVersion.clone()
}
// convenience methods for String
val string2Semver: Semver = "1.2.3-SNAPSHOT".toSemver()
if ("1.2.3".isSemver())
println("This is a semantic version")
fun ifPossibleCreateRelease(version: String): Semver? = version.ifSemver {
it.release()
}
See Development