module

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: May 12, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package module defines the module.Version type along with support code.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanonicalVersion

func CanonicalVersion(v string) string

CanonicalVersion returns the canonical form of the version string v. It is the same as semver.Canonical(v) except that it preserves the special build suffix "+incompatible".

func Check

func Check(path, version string) error

Check checks that a given module path, version pair is valid. In addition to the path being a valid module path and the version being a valid semantic version, the two must correspond. For example, the path "yaml/v2" only corresponds to semantic versions beginning with "v2.".

func CheckFilePath

func CheckFilePath(path string) error

CheckFilePath checks whether a slash-separated file path is valid.

func CheckImportPath

func CheckImportPath(path string) error

CheckImportPath checks that an import path is valid.

func CheckPath

func CheckPath(path string) error

CheckPath checks that a module path is valid.

func DecodePath

func DecodePath(encoding string) (path string, err error)

DecodePath returns the module path of the given safe encoding. It fails if the encoding is invalid or encodes an invalid path.

func DecodeVersion

func DecodeVersion(encoding string) (v string, err error)

DecodeVersion returns the version string for the given safe encoding. It fails if the encoding is invalid or encodes an invalid version. Versions are allowed to be in non-semver form but must be valid file names and not contain exclamation marks.

func EncodePath

func EncodePath(path string) (encoding string, err error)

EncodePath returns the safe encoding of the given module path. It fails if the module path is invalid.

func EncodeVersion

func EncodeVersion(v string) (encoding string, err error)

EncodeVersion returns the safe encoding of the given module version. Versions are allowed to be in non-semver form but must be valid file names and not contain exclamation marks.

func MatchPathMajor

func MatchPathMajor(v, pathMajor string) bool

MatchPathMajor reports whether the semantic version v matches the path major version pathMajor.

func Sort

func Sort(list []Version)

Sort sorts the list by Path, breaking ties by comparing Versions.

func SplitPathVersion

func SplitPathVersion(path string) (prefix, pathMajor string, ok bool)

SplitPathVersion returns prefix and major version such that prefix+pathMajor == path and version is either empty or "/vN" for N >= 2. As a special case, gopkg.in paths are recognized directly; they require ".vN" instead of "/vN", and for all N, not just N >= 2.

Types

type Version

type Version struct {
	Path string

	// Version is usually a semantic version in canonical form.
	// There are two exceptions to this general rule.
	// First, the top-level target of a build has no specific version
	// and uses Version = "".
	// Second, during MVS calculations the version "none" is used
	// to represent the decision to take no version of a given module.
	Version string `json:",omitempty"`
}

A Version is defined by a module path and version pair.

Jump to

Keyboard shortcuts

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