Documentation ¶
Index ¶
- func CheckTidy(ctx context.Context, fsys fs.FS, modRoot string, reg Registry) error
- func Tidy(ctx context.Context, fsys fs.FS, modRoot string, reg Registry, cueVers string) (*modfile.File, error)
- func UpdateVersions(ctx context.Context, fsys fs.FS, modRoot string, reg Registry, ...) (*modfile.File, error)
- type Registry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckTidy ¶
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.