在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):kikito/semver.lua开源软件地址(OpenSource Url):https://github.com/kikito/semver.lua开源编程语言(OpenSource Language):Lua 100.0%开源软件介绍(OpenSource Introduction):semver.luaSemantic versioning for Lua. See http://semver.org/ for details about semantic versioning. Documentationlocal v = require 'semver'
-- two ways of creating it: with separate parameters, or with one string
v1 = v(1,0,0)
v2_5_1 = v('2.5.1')
-- When using one string one can skip the parenthesis:
v2_5_1 = v'2.5.1' -- valid in Lua
-- major, minor and patch attributes
v2_5_1.major -- 2
v2_5_1.minor -- 5
v2_5_1.patch -- 1
-- prereleases:
a = v(1,0,0,'alpha')
a.prerelease -- 'alpha'
b = v('1.0.0-beta')
b.prerelease -- 'beta'
-- builds
c = v(1,0,0,nil,'build-1')
c.build -- 'build-1'
d = v('0.9.5+no.extensions.22')
d.build -- 'no.extensions.22'
-- comparison & sorting
v'1.2.3' == v(1,2,3) -- true
v'1.2.3' < v(4,5,6) -- true
v'1.2.3-alpha' < v'1.2.3' -- true
v'1.2.3' < v'1.2.3+build.1' -- false, builds are ignored when comparing versions in semver
-- (see the "notes" section for more informaion about version comparison)
-- "pessimistic upgrade" operator: ^
-- a ^ b returns true if it's safe to update from a to b
v'2.0.1' ^ v'2.5.1' -- true - it's safe to upgrade from 2.0.1 to 2.5.1
v'1.0.0' ^ v'2.0.0' -- false - 2.0.0 is not supposed to be backwards-compatible
v'2.5.1' ^ v'2.0.1' -- false - 2.5.1 is more modern than 2.0.1.
-- getting newer versions
v(1,0,0):nextPatch() -- v1.0.1
v(1,2,3):nextMinor() -- v1.3.0 . Notice the patch resets to 0
v(1,2,3):nextMajor() -- v2.0.0 . Minor and patch are reset to 0
InstallationJust copy the semver.lua file wherever you want it (for example on a lib/ folder). Then write this in any Lua file where you want to use it. You must assign the require to a global or local variable (I use a local local v = require 'semver' Using Please make sure that you read the license, too (for your convenience it's now included at the beginning of the semver.lua file). Notes about version comparisonVersion comparison is done according to the semver 2.0.0 specs: Major, minor, and patch versions are always compared numerically. Pre-release precedence MUST be determined by comparing each dot-separated identifier as follows:
Builds are ignored when calculating precedence: version 1.2.3 and 1.2.3+build5 are considered equal. SpecsThis project uses "busted":http://olivinelabs.com/busted/ for its specs. If you want to run the specs, you will have to install telescope first. Then just execute the following from the root inspect folder:
Changelogv1.1.1:
v.1.2.0:
v.1.2.1
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论