Version Manger Library for SemVer
Overview
VMLib is a Ruby gem to manage Semantic Versioning of projects. The gem
consists of a library and a command line utility to version a folder and all
subfolders.
Features
- Supports Semantic versioning as of the 2.0.0-rc1 specification. Development
version supports the final 2.0.0 specification.
- Prerelease parser that supports development releases (1.0.0-1, 1.0.0-2, etc.),
alpha releases (1.0.0-a.1, 1.0.0-alpha.2), beta releases (1.0.0-b.1,
1.0.0-beta.2), and release candidates (1.0.0-rc.1, 1.0.0-rc.2). The prerelease
parser can be disabled globally to allow the user to specify their own
prerelease format. Comparision is still compliant with the SemVer spec.
- Compare two versions using the spaceship operator (
<=>
).
- Supports a project name and multiple version formats. Eg.
vmlib 1.0.0
, vmlib
v1.0.0
, version 1.0.0
, vmlib version 1.0.0
.
- Built in methods to bump portions of the version number.
- Support for walking a source tree to update all references to the version
number. (experimental)
Known Issues
The gem does not support creating separate versions of components in subfolders
of an already versioned project folder. The Version
file can be created
manually to work around this limitation.
Documentation
See VMLib v1.1.1 Documentation