# Functions
Any returns a constraint that will match anything.
IsAny indicates if the provided constraint is the wildcard "Any" constraint.
NewBranch creates a new Version to represent a floating version (in general, a branch).
NewLockedProject creates a new LockedProject struct with a given ProjectIdentifier (name and optional upstream source URL), version.
NewSemverConstraint attempts to construct a semver Constraint object from the input string.
NewSemverConstraintIC attempts to construct a semver Constraint object from the input string, defaulting to a caret, ^, when no operator is specified.
NewSourceManager produces an instance of gps's built-in SourceManager.
NewVersion creates a Semver-typed Version if the provided version string is valid semver, and a plain/non-semver version if not.
ParsePruneOptions extracts PruneOptions from a string using the standard encoding.
Prepare readies a Solver for use.
PruneProject remove excess files according to the options passed, from the lp directory in baseDir.
SortForDowngrade sorts a slice of []Version in roughly ascending order, so that presumably older versions are visited first.
SortForUpgrade sorts a slice of []Version in roughly descending order, so that presumably newer versions are visited first.
SortPairedForDowngrade has the same behavior as SortForDowngrade, but operates on []PairedVersion types.
SortPairedForUpgrade has the same behavior as SortForUpgrade, but operates on []PairedVersion types.
ValidateParams validates the solver parameters to ensure solving can be completed.
VCSVersion returns the current project version for an absolute path.
VersionComponentStrings decomposes a Version into the underlying number, branch and revision.
WriteDepTree takes a basedir, a Lock and a RootPruneOptions and exports all the projects listed in the lock to the appropriate target location within basedir.
# Constants
VersionTypes for the four major classes of version.
VersionTypes for the four major classes of version.
VersionTypes for the four major classes of version.
VersionTypes for the four major classes of version.
PruneGoTestFiles indicates if Go test files should be pruned.
PruneNestedVendorDirs indicates if nested vendor directories should be pruned.
PruneNonGoFiles indicates if non-Go files should be pruned.
PruneUnusedPackages indicates if unused Go packages should be pruned.
# Variables
ErrSourceManagerIsReleased is the error returned by any SourceManager method called after the SourceManager has been released, rendering its methods no longer safe to call.
# Structs
CascadingPruneOptions is a set of rules for pruning a dependency tree.
CouldNotCreateLockError describe failure modes in which creating a SourceMgr did not succeed because there was an error while attempting to create the on-disk lock file.
ProjectAnalyzerInfo indicates a ProjectAnalyzer's name and version.
A ProjectConstraint combines a ProjectIdentifier with a Constraint.
A ProjectIdentifier provides the name and source location of a dependency.
ProjectProperties comprise the properties that can be attached to a ProjectRoot.
PruneOptionSet represents trinary distinctions for each of the types of prune rules (as expressed via PruneOptions): nested vendor directories, unused packages, non-go files, and go test files.
SimpleManifest is a helper for tools to enumerate manifest data.
SolveParameters hold all arguments to a solver run.
SourceManagerConfig holds configuration information for creating SourceMgrs.
SourceMgr is the default SourceManager for gps.
WriteProgress informs about the progress of WriteDepTree.
# Interfaces
A Constraint provides structured limitations on the versions that are admissible for a given project.
Lock represents data from a lock file (or however the implementing tool chooses to store it) at a particular version that is relevant to the satisfiability solving process.
LockedProject is a single project entry from a lock file.
Manifest represents manifest-type data for a project at a particular version.
PairedVersion represents a normal Version, but paired with its corresponding, underlying Revision.
A ProjectAnalyzer is responsible for analyzing a given path for Manifest and Lock information.
RootManifest extends Manifest to add special controls over solving that are only afforded to the root project.
A Solution is returned by a solver run.
A Solver is the main workhorse of gps: given a set of project inputs, it performs a constraint solving analysis to develop a complete Solution, or else fail with an informative error.
A SourceManager is responsible for retrieving, managing, and interrogating source repositories.
UnpairedVersion represents a normal Version, with a method for creating a VersionPair by indicating the version's corresponding, underlying Revision.
Version represents one of the different types of versions used by gps.
# Type aliases
DeductionErrs maps package import path to errors occurring during deduction.
ProjectConstraints is a map of projects, as identified by their import path roots (ProjectRoots) to the corresponding ProjectProperties.
ProjectRoot is the topmost import path in a tree of other import paths - the root of the tree.
PruneOptions represents the pruning options used to write the dependecy tree.
A Revision represents an immutable versioning identifier.
SimpleLock is a helper for tools to easily describe lock data when they know that input imports are unavailable.
VersionType indicates a type for a Version that conveys some additional semantics beyond that which is literally embedded on the Go type.