modload

package
v0.8.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckTidy

func CheckTidy(ctx context.Context, fsys fs.FS, modRoot string, reg Registry) error

CheckTidy checks that the module file in the given main module is considered tidy. A module file is considered tidy when: - it can be parsed OK by modfile.ParseStrict. - it contains a language version in canonical semver form - it includes valid modules for all of its dependencies - it does not include any unnecessary dependencies.

func Tidy

func Tidy(ctx context.Context, fsys fs.FS, modRoot string, reg Registry, cueVers string) (*modfile.File, error)

Tidy evaluates all the requirements of the given main module, using the given registry to download requirements and returns a resolved and tidied module file. If there's no language version in the module file and cueVers is non-empty it will be used to populate the language version field.

func UpdateVersions

func UpdateVersions(ctx context.Context, fsys fs.FS, modRoot string, reg Registry, versions []string) (*modfile.File, error)

UpdateVersions returns the main module's module file with the specified module versions updated if possible and added if not already present. It returns an error if asked to downgrade a module below a version already required by an external dependency.

A module in the versions slice can be specified as one of the following:

  • $module@$fullVersion: a specific exact version
  • $module@$partialVersion: a non-canonical version specifies the latest version that has the same major/minor numbers.
  • $module@latest: the latest non-prerelease version, or latest prerelease version if there is no non-prerelease version
  • $module: equivalent to $module@latest if $module doesn't have a default major version or $module@$majorVersion if it does, where $majorVersion is the default major version for $module.

Types

type Registry

type Registry interface {
	modrequirements.Registry
	modpkgload.Registry
	// ModuleVersions returns all the versions for the module with the given path
	// sorted in semver order.
	// If mpath has a major version suffix, only versions with that major version will
	// be returned.
	ModuleVersions(ctx context.Context, mpath string) ([]string, error)
}

Registry is modload's view of a module registry.

Jump to

Keyboard shortcuts

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