package semver

import "github.com/coreos/go-semver/semver"

Semantic Versions http://semver.org

Index

Examples

Functions

func Sort

func Sort(versions []*Version)

Sort sorts the given slice of Version

Types

type PreRelease

type PreRelease string

func (PreRelease) Slice

func (p PreRelease) Slice() []string

type Version

type Version struct {
	Major      int64
	Minor      int64
	Patch      int64
	PreRelease PreRelease
	Metadata   string
}

func Must

func Must(v *Version, err error) *Version

Must is a helper for wrapping NewVersion and will panic if err is not nil.

func New

func New(version string) *Version

func NewVersion

func NewVersion(version string) (*Version, error)

func (*Version) BumpMajor

func (v *Version) BumpMajor()

BumpMajor increments the Major field by 1 and resets all other fields to their default values

func (*Version) BumpMinor

func (v *Version) BumpMinor()

BumpMinor increments the Minor field by 1 and resets all other fields to their default values

func (*Version) BumpPatch

func (v *Version) BumpPatch()

BumpPatch increments the Patch field by 1 and resets all other fields to their default values

func (Version) Compare

func (v Version) Compare(versionB Version) int

Compare tests if v is less than, equal to, or greater than versionB, returning -1, 0, or +1 respectively.

func (Version) Equal

func (v Version) Equal(versionB Version) bool

Equal tests if v is equal to versionB.

func (Version) LessThan

func (v Version) LessThan(versionB Version) bool

LessThan tests if v is less than versionB.

Example

Code:

{
	vA := New("1.2.3")
	vB := New("3.2.1")

	fmt.Printf("%s < %s == %t\n", vA, vB, vA.LessThan(*vB))
	// Output:
	// 1.2.3 < 3.2.1 == true
}

Output:

1.2.3 < 3.2.1 == true

func (Version) MarshalJSON

func (v Version) MarshalJSON() ([]byte, error)

func (*Version) Set

func (v *Version) Set(version string) error

Set parses and updates v from the given version string. Implements flag.Value

func (Version) Slice

func (v Version) Slice() []int64

Slice converts the comparable parts of the semver into a slice of integers.

func (Version) String

func (v Version) String() string

func (*Version) UnmarshalJSON

func (v *Version) UnmarshalJSON(data []byte) error

func (*Version) UnmarshalYAML

func (v *Version) UnmarshalYAML(unmarshal func(interface{}) error) error

type Versions

type Versions []*Version

func (Versions) Len

func (s Versions) Len() int

func (Versions) Less

func (s Versions) Less(i, j int) bool

func (Versions) Swap

func (s Versions) Swap(i, j int)

Source Files

semver.go sort.go

Version
v0.3.1 (latest)
Published
Jan 16, 2023
Platform
linux/amd64
Imports
7 packages
Last checked
4 days ago

Tools for package owners.