Skip to content

JuliaInterop/VersionParsing.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VersionParsing

Build Status codecov.io

The VersionParsing package implements flexible parsing of version-number strings into Julia's built-in VersionNumber type, via the vparse(string) function.

Unlike the VersionNumber(string) constructor, vparse(string) can handle version-number strings in a much wider range of formats than are encompassed by the semver standard. This is useful in order to support VersionNumber comparisons applied to "foreign" version numbers from external packages.

For example,

  • Non-numeric prefixes are stripped along with any invalid version characters. Commas are treated as decimal points, and underscores are treated as hyphens.
  • Text following whitespace or other invalid-version characters after the version number is ignored.
  • major.minor.patch.x.y.z is supported, with x.y.z prepended to the semver build identifier, i.e. it is parsed like major.minor.patch+x.y.z.
  • Multiple +x+y build identifiers are concatenated as if they were +x.y.
  • A leading 0 is prepended if needed, e.g. .x is treated as 0.x.
  • When all else fails, everything except the first major.minor.patch digits found are ignored.