modules

package
v0.0.0-...-831fdfd Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindModFile

func FindModFile(dir string) (string, error)

FindModFile recursively searches up the directory structure until it finds the go.mod, reaches the root of the directory tree, or encounters an error.

func IsNewerVersion

func IsNewerVersion(oldversion, newversion string, major bool) bool

IsNewerVersion returns true if newversion is greater than oldversion in terms of semver. If major is true, then newversion must be a major version ahead of oldversion to be considered newer.

func JoinPath

func JoinPath(modprefix, version, pkgdir string) string

JoinPath creates a full package path given a module prefix, version, and package directory.

func MaxVersion

func MaxVersion(v, w string) string

MaxVersion returns the larger of two versions according to semantic version precedence. Incompatible versions are considered lower than non-incompatible ones. Invalid versions are considered lower than valid ones. If both versions are invalid, the empty string is returned.

func ModMajor

func ModMajor(modpath string) (string, bool)

ModMajor returns the major version in vN format

func ModPrefix

func ModPrefix(modpath string) string

ModPrefix returns the module path with no SIV

func NextMajor

func NextMajor(version string) (string, error)

NextMajor returns the next major version after the provided version

func SplitPath

func SplitPath(modprefix, pkgpath string) (modpath, pkgdir string, ok bool)

SplitPath splits the package path into the module path and the package subdirectory. It requires the a module path prefix to figure this out.

func SplitSpec

func SplitSpec(spec string) (path, query string)

SplitSpec splits the path/to/package@query format strings

func Updates

func Updates(opt UpdateOptions)

Updates finds updates for a set of specified modules.

Types

type Module

type Module struct {
	Path     string
	Versions []string
}

Module contains the module path and versions

func Latest

func Latest(modpath string, cached bool) (*Module, error)

Latest finds the latest major version of a module cached sets the Disable-Module-Fetch: true header

func Query

func Query(modpath string, cached bool) (*Module, bool, error)

Query the module proxy for all versions of a module. If the module does not exist, the second return parameter will be false cached sets the Disable-Module-Fetch: true header

func QueryPackage

func QueryPackage(pkgpath string, cached bool) (*Module, error)

QueryPackage tries to find the module path for the provided package path it does so by repeatedly chopping off the last path element and trying to use it as a path.

func (*Module) MaxVersion

func (m *Module) MaxVersion(prefix string, pre bool) string

MaxVersion returns the latest version. If there are no versions, the empty string is returned. Prefix can be used to filter the versions based on a prefix. If pre is false, pre-release versions will are excluded.

func (*Module) NextMajorPath

func (m *Module) NextMajorPath() (string, bool)

NextMajorPath returns the module path of the next major version

func (*Module) WithMajorPath

func (m *Module) WithMajorPath(version string) string

WithMajorPath returns the module path for the provided version

type Update

type Update struct {
	Err     error
	Module  module.Version
	Version string
}

Update reports a newer version of a module. The Err field will be set if an error occured.

type UpdateOptions

type UpdateOptions struct {
	OnUpdate func(Update)
	Modules  []module.Version
	Pre      bool
	Cached   bool
	Major    bool // Major true compare only major
	UpMajor  bool // UpMajor module up with major
}

UpdateOptions specifies a set of modules to check for updates. The OnUpdate callback will be invoked with any updates found.

Jump to

Keyboard shortcuts

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