version

package
v4.24.2+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2017 License: BSD-3-Clause Imports: 4 Imported by: 54

Documentation

Overview

Package version of the Tideland Go Library helps other packages to provide information about their current version and compare it to others. It follows the idea of semantic versioning (see http://semver.org/).

Version instances can be created via New() with explicit passed field values or via Parse() and a passed sting. Beside accessing the individual fields two versions can be compared with Compare() and Less().

Index

Constants

View Source
const (
	Metadata = "+"

	Newer Precedence = 1
	Equal            = 0
	Older            = -1

	Major      Level = "major"
	Minor            = "minor"
	Patch            = "patch"
	PreRelease       = "pre-release"
	All              = "all"
)

Separator, precedences, and part identifiers.

View Source
const (
	ErrIllegalVersionFormat = iota + 1
)

Error codes of the version package.

Variables

This section is empty.

Functions

This section is empty.

Types

type Level

type Level string

Level describes the level, on which a version differentiates from an other.

type Precedence

type Precedence int

Precedence describes if a version is newer, equal, or older.

type Version

type Version interface {
	fmt.Stringer

	// Major returns the major version.
	Major() int

	// Minor returns the minor version.
	Minor() int

	// Patch return the path version.
	Patch() int

	// PreRelease returns a possible pre-release of the version.
	PreRelease() string

	// Metadata returns a possible build metadata of the version.
	Metadata() string

	// Compare compares this version to the passed one. The result
	// is from the perspective of this one.
	Compare(cv Version) (Precedence, Level)

	// Less returns true if this version is less than the passed one.
	// This means this version is older.
	Less(cv Version) bool
}

Version defines the interface of a version.

func New

func New(major, minor, patch int, prmds ...string) Version

New returns a simple version instance. Parts of pre-release and metadata are passed as optional strings separated by version.Metadata ("+").

func Parse

func Parse(vsnstr string) (Version, error)

Parse retrieves a version out of a string.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL