modproxy

package
v0.0.0-...-3eee40b Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 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 NextMajor

func NextMajor(version string) (string, error)

NextMajor returns the next major version after the provided version

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(goProxy string, 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(goProxy string, 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(goProxy string, 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 {
	Module module.Version
	Latest module.Version
	Err    error `json:",omitempty"`
}

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

type UpdateOptions

type UpdateOptions struct {
	Pre      bool
	Cached   bool
	Major    bool
	GoProxy  string
	Modules  []module.Version
	OnUpdate func(Update)
}

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