Documentation ¶
Overview ¶
Package solver contains routines to build graph of pkg.yaml files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildkitFrontendLoader ¶
type BuildkitFrontendLoader struct { *log.Logger Context types.Variables Ref client.Reference //nolint:containedctx Ctx context.Context // contains filtered or unexported fields }
BuildkitFrontendLoader loads packages from buildkit client.Reference.
func (*BuildkitFrontendLoader) Load ¶
func (bkfl *BuildkitFrontendLoader) Load() (*LoadResult, error)
Load implements PackageLoader.
type FilesystemPackageLoader ¶
type FilesystemPackageLoader struct { *log.Logger Context types.Variables Root string // contains filtered or unexported fields }
FilesystemPackageLoader loads packages by walking file system tree.
func (*FilesystemPackageLoader) Load ¶
func (fspl *FilesystemPackageLoader) Load() (*LoadResult, error)
Load implements PackageLoader.
type LoadResult ¶
LoadResult is a result of PackageLoader.Load function.
type PackageDependency ¶
type PackageDependency struct { // Pkg is set only for Internal dependencies. Node *PackageNode v1alpha2.Dependency }
PackageDependency wraps v1alpha2.Depency with resolved internal dependencies.
func (PackageDependency) ID ¶
func (dep PackageDependency) ID() string
ID returns unique string for dependency.
type PackageGraph ¶
type PackageGraph struct {
Root *PackageNode
}
PackageGraph capture root of the DAG.
func (*PackageGraph) ToSet ¶
func (graph *PackageGraph) ToSet() PackageSet
ToSet converts graph to set of nodes.
type PackageLoader ¶
type PackageLoader interface {
Load() (*LoadResult, error)
}
PackageLoader implements some way to fetch collection of Pkgs.
type PackageNode ¶
type PackageNode struct { Pkg *v1alpha2.Pkg Name string Dependencies []PackageDependency }
PackageNode is a Pkg with associated dependencies.
func (*PackageNode) DumpDot ¶
func (node *PackageNode) DumpDot(g *dot.Graph) dot.Node
DumpDot dumps node and dependencies.
func (*PackageNode) RuntimeDependencies ¶
func (node *PackageNode) RuntimeDependencies() (deps []PackageDependency)
RuntimeDependencies returns (recursively) all the runtime dependencies for the package.
type PackageSet ¶
type PackageSet []*PackageNode
PackageSet is a list of PackageNodes.
func (PackageSet) DumpDot ¶
func (set PackageSet) DumpDot(w io.Writer)
DumpDot dumps nodes and deps in dot format.
type Packages ¶
type Packages struct {
// contains filtered or unexported fields
}
Packages is a collect of Pkg objects with dependencies tracked.
func NewPackages ¶
func NewPackages(loader PackageLoader) (*Packages, error)
NewPackages builds Packages using PackageLoader.
func (*Packages) ImageLabels ¶
ImageLabels returns set of image labels to apply to the output image.
func (*Packages) Resolve ¶
func (pkgs *Packages) Resolve(target string) (*PackageGraph, error)
Resolve trims down the package tree to have only deps of the target.
func (*Packages) ToSet ¶
func (pkgs *Packages) ToSet() (set PackageSet)
ToSet converts to set of package nodes.