Skip to content

Latest commit

 

History

History
77 lines (61 loc) · 1.53 KB

README.md

File metadata and controls

77 lines (61 loc) · 1.53 KB

semver

semver is a command-line tool to parse "Semantic Versioning 2.0.0".

Install

Go is required to install semver. Please run go get as follows.

$ go install github.com/masa213f/semver/cmd/semver@v0.1.0

Usage

Specify the version number (string) as the argument of semver. If the version number is parsed successfully, this command outputs the result as follows. At this time, 0 is returned as the exit status.

$ semver v1.2.3-rc.0+build.20190925
prefix: v
version: 1.2.3-rc.0+build.20190925
major: 1
minor: 2
patch: 3
prerelease: rc.0
build: build.20190925
# => exit status: 0

If you specify the --json option, the result will be output in JSON format.

$ semver v1.2.3-rc.0+build.20190925 --json
{
  "prefix": "v",
  "version": "1.2.3-rc.0+build.20190925",
  "major": 1,
  "minor": 2,
  "patch": 3,
  "prerelease": [
    "rc",
    "0"
  ],
  "build": [
    "build",
    "20190925"
  ]
}
# => exit status: 0

If the argument does not follow "Semantic Versioning 2.0.0", 1 will be returned as the exit status.

$ semver v1.12
parse error: format error
# => exit status: 1

$ semver v1.01.0
parse error: invalid numeric identifier (leading zeros): minor = 01
# => exit status: 1

You can also specify the -p(--is-prerelease) option to determine the pre-release version.

$ semver -p v1.1.2-rc.0
prerelease: rc.0
# => exit status: 0

$ semver -p v1.1.2
official version: version = 1.1.2
# => exit status: 2