pubgrub

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: May 30, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultCauseStrings = StandardCauseStrings{
	TwoCauses:             "Because %s and %s, %s.",
	TwoCausesFinal:        "So, because %s and %s, %s.",
	TwoCausesOneTag:       "Because %s and %s (%d), %s.",
	TwoCausesOneTagFinal:  "So, because %s and %s (%d), %s.",
	TwoCausesTwoTags:      "Because %s (%d) and %s (%d), %s.",
	TwoCausesTwoTagsFinal: "So, because %s (%d) and %s (%d), %s.",
	OneCause:              "And because %s, %s.",
	OneCauseFinal:         "So, because %s, %s.",
	OneCauseOneTag:        "And because %s (%d), %s.",
	OneCauseOneTagFinal:   "So, because %s (%d), %s.",
	NoCause:               "Thus, %s.",
}
View Source
var DefaultIncompatibilityStrings = StandardIncompatibilityStrings{
	ResolvingFailed: "version solving failed",

	DependsOn:   "%s depends on %s",
	Installing:  "installing %s",
	Forbids:     "%s forbids %s",
	IsForbidden: "%s is forbidden",
}

Functions

func BinarySearchFunc

func BinarySearchFunc(low, high int, f func(int) bool) int

BinarySearchFunc returns the smallest index i in [low, high) at which f(i) is true, assuming that on the range [low, high), f(i) == true implies f(i+1) == true.

func GenKey

func GenKey(repoType string, name string) string

func GetTypeName

func GetTypeName(key string) (repoType string, name string, err error)

func Solve

func Solve(ps *prefabservice.PrefabService, repoType string, name string, version string, deps [][]*prefab.Prefab, ctx *dcontext.DeployContext) (map[string]SolvedItem, *dcontext.DeployContext, error)

Types

type Incompatibility

type Incompatibility struct {
	// contains filtered or unexported fields
}

func (Incompatibility) Causes

func (in Incompatibility) Causes() []*Incompatibility

func (Incompatibility) String

func (in Incompatibility) String() string

func (Incompatibility) Terms

func (in Incompatibility) Terms() []Term

type IncompatibilityStringer

type IncompatibilityStringer interface {
	IncompatibilityString(incompatibility *Incompatibility, rootPkg string) string
}

type SolvedItem

type SolvedItem struct {
	PrefabID    string
	BlueprintID string
	Depends     []string
}

type SolvingError

type SolvingError struct {
	// contains filtered or unexported fields
}

func (SolvingError) Cause

func (e SolvingError) Cause() *Incompatibility

func (SolvingError) Error

func (e SolvingError) Error() string

func (SolvingError) WriteTo

func (e SolvingError) WriteTo(writer SolvingErrorWriter)

type SolvingErrorWriter

type SolvingErrorWriter interface {
	TagLastLine(incompatibility *Incompatibility) int
	GetTag(incompatibility *Incompatibility) (int, bool)
	WriteLineTwoCauses(cause1, cause2, incompatibility *Incompatibility)
	WriteLineTwoCausesOneTag(cause1, cause2, incompatibility *Incompatibility, line2 int)
	WriteLineTwoCausesTwoTags(cause1, cause2, incompatibility *Incompatibility, line1, line2 int)
	WriteLineOneCause(cause, incompatibility *Incompatibility)
	WriteLineOneCauseOneTag(cause, incompatibility *Incompatibility, line int)
	WriteLineNoCause(incompatibility *Incompatibility)
	Separate()
}

type StandardCauseStrings

type StandardCauseStrings struct {
	TwoCauses             string
	TwoCausesFinal        string
	TwoCausesOneTag       string
	TwoCausesOneTagFinal  string
	TwoCausesTwoTags      string
	TwoCausesTwoTagsFinal string
	OneCause              string
	OneCauseFinal         string
	OneCauseOneTag        string
	OneCauseOneTagFinal   string
	NoCause               string
}

type StandardErrorWriter

type StandardErrorWriter struct {
	// contains filtered or unexported fields
}

func NewStandardErrorWriter

func NewStandardErrorWriter(rootPkg string) *StandardErrorWriter

func (*StandardErrorWriter) GetTag

func (w *StandardErrorWriter) GetTag(incompatibility *Incompatibility) (int, bool)

func (*StandardErrorWriter) IsRoot

func (w *StandardErrorWriter) IsRoot(incompatibility *Incompatibility) bool

func (*StandardErrorWriter) Separate

func (w *StandardErrorWriter) Separate()

func (*StandardErrorWriter) String

func (w *StandardErrorWriter) String() string

func (*StandardErrorWriter) TagLastLine

func (w *StandardErrorWriter) TagLastLine(incompatibility *Incompatibility) int

func (*StandardErrorWriter) WithIncompatibilityStringer

func (w *StandardErrorWriter) WithIncompatibilityStringer(s IncompatibilityStringer) *StandardErrorWriter

func (*StandardErrorWriter) WithStrings

func (*StandardErrorWriter) WriteLine

func (w *StandardErrorWriter) WriteLine(line string)

func (*StandardErrorWriter) WriteLineNoCause

func (w *StandardErrorWriter) WriteLineNoCause(incompatibility *Incompatibility)

func (*StandardErrorWriter) WriteLineOneCause

func (w *StandardErrorWriter) WriteLineOneCause(cause, incompatibility *Incompatibility)

func (*StandardErrorWriter) WriteLineOneCauseOneTag

func (w *StandardErrorWriter) WriteLineOneCauseOneTag(cause, incompatibility *Incompatibility, line int)

func (*StandardErrorWriter) WriteLineTwoCauses

func (w *StandardErrorWriter) WriteLineTwoCauses(cause1, cause2, incompatibility *Incompatibility)

func (*StandardErrorWriter) WriteLineTwoCausesOneTag

func (w *StandardErrorWriter) WriteLineTwoCausesOneTag(cause1, cause2, incompatibility *Incompatibility, line2 int)

func (*StandardErrorWriter) WriteLineTwoCausesTwoTags

func (w *StandardErrorWriter) WriteLineTwoCausesTwoTags(cause1, cause2, incompatibility *Incompatibility, line1, line2 int)

type StandardIncompatibilityStringer

type StandardIncompatibilityStringer struct {
	// contains filtered or unexported fields
}

func NewStandardIncompatibilityStringer

func NewStandardIncompatibilityStringer() StandardIncompatibilityStringer

func (StandardIncompatibilityStringer) IncompatibilityString

func (w StandardIncompatibilityStringer) IncompatibilityString(c *Incompatibility, rootPkg string) string

func (StandardIncompatibilityStringer) IsRoot

func (w StandardIncompatibilityStringer) IsRoot(incompatibility *Incompatibility, rootPkg string) bool

func (StandardIncompatibilityStringer) WithStrings

func (StandardIncompatibilityStringer) WithTermStringer

type StandardIncompatibilityStrings

type StandardIncompatibilityStrings struct {
	ResolvingFailed string

	DependsOn   string
	Installing  string
	Forbids     string
	IsForbidden string
}

type StandardTermStringer

type StandardTermStringer struct{}

func (StandardTermStringer) Term

func (w StandardTermStringer) Term(t Term, includeVersion bool) string

type Term

type Term struct {
	// contains filtered or unexported fields
}

func (Term) Constraint

func (t Term) Constraint() repointerface.Constraint

func (Term) Dependency

func (t Term) Dependency() string

func (Term) Equal

func (t Term) Equal(other Term) bool

func (Term) Inverse

func (t Term) Inverse() Term

Inverse returns a term that has its positive flag and constraint inverted This term will be satisfied by the same versions the original term would, but not by a missing term (if the original term was negative)

func (Term) Negate

func (t Term) Negate() Term

func (Term) Positive

func (t Term) Positive() bool

func (Term) String

func (t Term) String() string

type TermStringer

type TermStringer interface {
	Term(t Term, includeVersion bool) string
}

Jump to

Keyboard shortcuts

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