Go: cmd/go/internal/module Index | Files

package module

import "cmd/go/internal/module"

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

Index

Package Files

module.go

func CanonicalVersion Uses

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 Uses

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 Uses

func CheckFilePath(path string) error

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

func CheckImportPath Uses

func CheckImportPath(path string) error

CheckImportPath checks that an import path is valid.

func CheckPath Uses

func CheckPath(path string) error

CheckPath checks that a module path is valid.

func DecodePath Uses

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 Uses

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 Uses

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 Uses

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 Uses

func MatchPathMajor(v, pathMajor string) bool

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

func Sort Uses

func Sort(list []Version)

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

func SplitPathVersion Uses

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.

type Version Uses

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.

Package module imports 6 packages (graph) and is imported by 25 packages. Updated 2019-03-15. Refresh now. Tools for package owners.