All Projects → swiftzer → semver

swiftzer / semver

Licence: MIT license
Kotlin data class for Semantic Versioning 2.0.0 specification (SemVer)

Programming Languages

kotlin
9241 projects

Labels

Projects that are alternatives of or similar to semver

Gitversion
From git log to SemVer in no time
Stars: ✭ 2,131 (+4078.43%)
Mutual labels:  semver
git-version-bumper
Bump your git tag to the next version, easily. 👊
Stars: ✭ 92 (+80.39%)
Mutual labels:  semver
ongeza
An automated way to follow the Semantic Versioning Specification
Stars: ✭ 36 (-29.41%)
Mutual labels:  semver
Semantic Release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 14,364 (+28064.71%)
Mutual labels:  semver
Gitmoji Changelog
A changelog generator for gitmoji 😜
Stars: ✭ 250 (+390.2%)
Mutual labels:  semver
semver-cli
semver-cli is a simple command line tool to compare and manipulate version strings.
Stars: ✭ 28 (-45.1%)
Mutual labels:  semver
Semver.c
Semantic version library written in ANSI C
Stars: ✭ 147 (+188.24%)
Mutual labels:  semver
cocogitto
The Conventional Commits toolbox
Stars: ✭ 242 (+374.51%)
Mutual labels:  semver
semver-explain
Explain semver requirements by converting them into less than, greater than, and/or equal to form.
Stars: ✭ 27 (-47.06%)
Mutual labels:  semver
gradle-semantic-build-versioning
Gradle plugin to generate version-numbers and tags using semantic versioning
Stars: ✭ 19 (-62.75%)
Mutual labels:  semver
Nodejs
Node.js基础与应用教程,适合初学者入门,以及有一定经验的开发者提高。Node.js全栈交流QQ群:423652352,node.js或者全栈开发培训QQ群:579500717
Stars: ✭ 202 (+296.08%)
Mutual labels:  semver
Version
semver (Semantic Version) Swift µFramework.
Stars: ✭ 228 (+347.06%)
Mutual labels:  semver
dont-crack
semantic-release plugin checking if the new semantic release is breaking dependent projects
Stars: ✭ 14 (-72.55%)
Mutual labels:  semver
Version
Represent and compare versions via semantic versioning (SemVer) in Swift
Stars: ✭ 160 (+213.73%)
Mutual labels:  semver
bin-version-cli
Get the version of a binary in semver format
Stars: ✭ 36 (-29.41%)
Mutual labels:  semver
Beachball
The Sunniest Semantic Version Bumper
Stars: ✭ 158 (+209.8%)
Mutual labels:  semver
xavtool
Xplat Automating Version Tool
Stars: ✭ 33 (-35.29%)
Mutual labels:  semver
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (-47.06%)
Mutual labels:  semver
probot-semver
A GitHub app that provides automatic semantic versioning support
Stars: ✭ 15 (-70.59%)
Mutual labels:  semver
ocaml-semver
Semantic version handling for OCaml
Stars: ✭ 16 (-68.63%)
Mutual labels:  semver

SemVer

Build Status codecov

Kotlin data class for Semantic Versioning 2.0.0 specification.

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

Installation

Gradle

repositories {
    mavenCentral()
}

dependencies {
    implementation 'net.swiftzer.semver:semver:1.1.2'
}

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)
assertEquals(-1, semVer1.compareTo(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())
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].