ops

package
v0.0.0-...-a0b8de0 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2021 License: BSD-3-Clause Imports: 64 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CarInfoJson    = ".car-info.json"
	SignatureEntry = "~signature"
	MetadataOnly   = "#fakedir"
)
View Source
const (
	Extension       = ".xcr"
	ExportExtension = ".export" + Extension
)

xcr == exprcore files

Variables

View Source
var (
	ErrInvalidSignature = errors.New("invalid signature")
	ErrNoSignature      = errors.New("no signature")
)
View Source
var ErrBadScript = errors.New("script error detected")
View Source
var ErrCorruption = errors.New("corruption detected")
View Source
var ErrInstallError = errors.New("installation error")
View Source
var (
	ErrNotFound = errors.New("entry not found")
)
View Source
var ErrSumFormat = fmt.Errorf("sum must a tuple with (sum-type, sum)")
View Source
var NoCarData = errors.New("no car data found")
View Source
var RunCtxFunctions = exprcore.StringDict{
	"system":        exprcore.NewBuiltin("system", systemFn),
	"shell":         exprcore.NewBuiltin("shell", shellFn),
	"apply_patch":   exprcore.NewBuiltin("apply_patch", patchFn),
	"inreplace":     exprcore.NewBuiltin("inreplace", inreplaceFn),
	"inreplace_re":  exprcore.NewBuiltin("inreplace_re", inreplaceReFn),
	"rm_f":          exprcore.NewBuiltin("rm_f", rmrfFn),
	"rm_rf":         exprcore.NewBuiltin("rm_rf", rmrfFn),
	"set_env":       exprcore.NewBuiltin("set_env", setEnvFn),
	"append_env":    exprcore.NewBuiltin("append_env", appendEnvFn),
	"prepend_env":   exprcore.NewBuiltin("prepend_env", prependEnvFn),
	"link":          exprcore.NewBuiltin("link", linkFn),
	"install_files": exprcore.NewBuiltin("install_files", installFn),
	"write_file":    exprcore.NewBuiltin("write_file", writeFileFn),
	"chdir":         exprcore.NewBuiltin("chdir", chdirFn),
	"set_root":      exprcore.NewBuiltin("set_root", setRootFn),
	"mkdir":         exprcore.NewBuiltin("mkdir", mkdirFn),
	"download":      exprcore.NewBuiltin("download", downloadFn),
	"unpack":        exprcore.NewBuiltin("unpack", unpackFn),
	"set_shebang":   exprcore.NewBuiltin("set_shebang", setShebangFn),
}

Functions

func CompareEtag

func CompareEtag(a, b string) bool

func DecodeSum

func DecodeSum(sum exprcore.Value) (string, string, error)

func OCICarTag

func OCICarTag(id string) string

Types

type CarData

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

func (*CarData) Info

func (r *CarData) Info() (*data.CarInfo, error)

func (*CarData) Open

func (r *CarData) Open() (io.ReadCloser, error)

func (*CarData) Unpack

func (r *CarData) Unpack(ctx context.Context, dir string) error

type CarExport

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

func (*CarExport) Export

func (c *CarExport) Export(pkg *ScriptPackage, path, dest string) (*ExportedCar, error)

func (*CarExport) L

func (c *CarExport) L() hclog.Logger

func (*CarExport) SetLogger

func (c *CarExport) SetLogger(logger hclog.Logger)

type CarInspect

type CarInspect struct {
	Info      data.CarInfo
	Signature []byte
}

func (*CarInspect) Show

func (r *CarInspect) Show(in io.Reader, show io.Writer) error

type CarLookup

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

func (*CarLookup) Lookup

func (c *CarLookup) Lookup(pkg *ScriptPackage) (*CarData, error)

func (*CarLookup) LookupByName

func (c *CarLookup) LookupByName(repo, name string) (*CarData, error)

type CarPack

type CarPack struct {
	PrivateKey      ed25519.PrivateKey
	PublicKey       ed25519.PublicKey
	DepRootDir      string
	MapDependencies func(string) (string, string, string)

	Sum          []byte
	Dependencies []string
}

func (*CarPack) Pack

func (c *CarPack) Pack(cinfo *data.CarInfo, dir string, w io.Writer) error

type CarPublish

type CarPublish struct {
	Username string
	Password string
}

func (*CarPublish) PublishCar

func (c *CarPublish) PublishCar(ctx context.Context, path, repo string) error

type CarReader

type CarReader interface {
	Lookup(name string) (io.ReadCloser, error)
	Info(name string) (*data.CarInfo, error)
}

type CarUnpack

type CarUnpack struct {
	Info      data.CarInfo
	Signature []byte
	Sum       []byte
}

func (*CarUnpack) Install

func (r *CarUnpack) Install(in io.Reader, dir string) error

type Config

type Config struct {
	Repos map[string]*ConfigRepo
}

type ConfigRepo

type ConfigRepo struct {
	Github string
	Path   string
}

type ExportedCar

type ExportedCar struct {
	Package *ScriptPackage
	Info    *data.CarInfo
	Path    string
	Sum     []byte
}

type GithubReleasesReader

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

func (*GithubReleasesReader) Info

func (g *GithubReleasesReader) Info(name string) (*data.CarInfo, error)

func (*GithubReleasesReader) Lookup

func (g *GithubReleasesReader) Lookup(name string) (io.ReadCloser, error)

type InstallCar

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

func (*InstallCar) Install

func (i *InstallCar) Install(ctx context.Context, ienv *InstallEnv) error

func (*InstallCar) L

func (c *InstallCar) L() hclog.Logger

func (*InstallCar) SetLogger

func (c *InstallCar) SetLogger(logger hclog.Logger)

type InstallEnv

type InstallEnv struct {
	// Directory to create build dirs in
	BuildDir string

	// Directory that contains installed packages
	Store *config.Store

	// Directory that packages can use to store data such as gems, config files,
	// etc.
	StateDir string

	// Start a shell
	StartShell bool

	// Contains paths to installed packages
	PackagePaths map[string]string

	// Indicates that the build process should retain the build dir
	RetainBuild bool

	// SkipPostInstall indicates that we should not run any post_install
	// functions. This is typically used when we're building a package
	// only to package it as a .car file.
	SkipPostInstall bool

	// PostInstallOnly indicates that we should not run any install
	// functions, only run post_install. This is typically used when we're
	// installing a .car and allow the package to adjust it into place.
	OnlyPostInstall bool

	// If set, install will generate a .car file for the packages install into
	// ExportPath. It performs the export before running post_install so the packages
	// are sealed properly.
	ExportPath string

	// When using ExportPath, this will be populated with the information about the car
	// files written.
	ExportedCars []*ExportedCar

	Config *config.Config
}

type InstallStats

type InstallStats struct {
	Existing  int
	Installed int

	Elapsed time.Duration
}

type Installable

type Installable interface {
	Name() string
	Version() string
	DependencyNames() []string
	Install(tmpdir string) error
}

type Instance

type Instance struct {
	Id           string
	Name         string
	Version      string
	Signature    string
	Fn           *exprcore.Function
	Dependencies []*ScriptPackage

	Path string
	Data []byte
}

func NewDataInstance

func NewDataInstance(name string, path string, data []byte) (*Instance, error)

func NewInstance

func NewInstance(name string, fn *exprcore.Function) (*Instance, error)

func (*Instance) Freeze

func (i *Instance) Freeze()

Freeze causes the value, and all values transitively reachable from it through collections and closures, to be marked as frozen. All subsequent mutations to the data structure through this API will fail dynamically, making the data structure immutable and safe for publishing to other exprcore interpreters running concurrently.

func (*Instance) Hash

func (i *Instance) Hash() (uint32, error)

Hash returns a function of x such that Equals(x, y) => Hash(x) == Hash(y). Hash may fail if the value's type is not hashable, or if the value contains a non-hashable value. The hash is used only by dictionaries and is not exposed to the exprcore program.

func (*Instance) ID

func (i *Instance) ID() string

func (*Instance) String

func (i *Instance) String() string

String returns the string representation of the value. exprcore string values are quoted as if by Python's repr.

func (*Instance) Truth

func (i *Instance) Truth() exprcore.Bool

Truth returns the truth value of an object.

func (*Instance) Type

func (i *Instance) Type() string

Type returns a short string describing the value's type.

type Option

type Option func(c *loadCfg)

func WithArgs

func WithArgs(args map[string]string) Option

func WithConfigRepo

func WithConfigRepo(cr *ConfigRepo) Option

func WithConstraints

func WithConstraints(args map[string]string) Option

func WithNamespace

func WithNamespace(ns string) Option

type PackageAdjustNames

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

func (*PackageAdjustNames) Adjust

func (p *PackageAdjustNames) Adjust(dir string) error

func (*PackageAdjustNames) L

func (c *PackageAdjustNames) L() hclog.Logger

func (*PackageAdjustNames) SetLogger

func (c *PackageAdjustNames) SetLogger(logger hclog.Logger)

type PackageCalcInstall

type PackageCalcInstall struct {
	Store *config.Store

	CarCache []string
	// contains filtered or unexported fields
}

func (*PackageCalcInstall) Calculate

func (*PackageCalcInstall) CalculateSet

func (p *PackageCalcInstall) CalculateSet(pkgs []*ScriptPackage) (*PackagesToInstall, error)

func (*PackageCalcInstall) L

func (c *PackageCalcInstall) L() hclog.Logger

func (*PackageCalcInstall) SetLogger

func (c *PackageCalcInstall) SetLogger(logger hclog.Logger)

type PackageFixPerms

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

func (*PackageFixPerms) Fix

func (p *PackageFixPerms) Fix(path string) error

Fix adjusts the permissions of the files in path. Mostly it fixes the perms of anything in the bin/ dir.

func (*PackageFixPerms) L

func (c *PackageFixPerms) L() hclog.Logger

func (*PackageFixPerms) SetLogger

func (c *PackageFixPerms) SetLogger(logger hclog.Logger)

type PackageInfo

type PackageInfo interface {
	PackageInfo() (name, repo, signer string)
}

type PackageInstaller

type PackageInstaller interface {
	Install(ctx context.Context, ienv *InstallEnv) error
}

type PackageReadInfo

type PackageReadInfo struct {
	Store *config.Store
}

func (*PackageReadInfo) Read

func (*PackageReadInfo) ReadPath

func (p *PackageReadInfo) ReadPath(pkg *ScriptPackage, root string) (*data.PackageInfo, error)

type PackageRemoveCruft

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

func (*PackageRemoveCruft) L

func (c *PackageRemoveCruft) L() hclog.Logger

func (*PackageRemoveCruft) RemoveCruft

func (p *PackageRemoveCruft) RemoveCruft(path string) error

func (*PackageRemoveCruft) SetLogger

func (c *PackageRemoveCruft) SetLogger(logger hclog.Logger)

type PackageSelector

type PackageSelector struct {
	Namespace string
	Name      string
}

func (*PackageSelector) Freeze

func (l *PackageSelector) Freeze()

func (*PackageSelector) Hash

func (l *PackageSelector) Hash() (uint32, error)

func (*PackageSelector) String

func (l *PackageSelector) String() string

func (*PackageSelector) Truth

func (l *PackageSelector) Truth() exprcore.Bool

func (*PackageSelector) Type

func (l *PackageSelector) Type() string

type PackageWriteInfo

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

func (*PackageWriteInfo) Write

type PackagesInstall

type PackagesInstall struct {
	Installed []string
	Failed    string
	// contains filtered or unexported fields
}

func (*PackagesInstall) Install

func (p *PackagesInstall) Install(
	ctx context.Context, ienv *InstallEnv, toInstall *PackagesToInstall,
) (*InstallStats, error)

func (*PackagesInstall) L

func (c *PackagesInstall) L() hclog.Logger

func (*PackagesInstall) SetLogger

func (c *PackagesInstall) SetLogger(logger hclog.Logger)

type PackagesToInstall

type PackagesToInstall struct {
	PackageIDs   []string
	InstallOrder []string
	Installers   map[string]PackageInstaller
	Dependencies map[string][]string
	Scripts      map[string]*ScriptPackage
	Installed    map[string]bool
	InstallDirs  map[string]string
	CarInfo      map[string]*data.CarInfo
}

type Project

type Project struct {
	Constraints map[string]string
	Cellar      string
	Install     []*ScriptPackage
	Requested   []string
	// contains filtered or unexported fields
}

func (*Project) CalculateSet

func (p *Project) CalculateSet(ctx context.Context, ienv *InstallEnv) (*PackagesToInstall, error)

func (*Project) Explain

func (p *Project) Explain(ctx context.Context, ienv *InstallEnv) error

func (*Project) ExplainHomebrew

func (p *Project) ExplainHomebrew() error

func (*Project) Export

func (p *Project) Export(ctx context.Context, cfg *config.Config, dest string) ([]*ExportedCar, error)

func (*Project) FindCachedBuildOnlyDeps

func (p *Project) FindCachedBuildOnlyDeps(pti *PackagesToInstall, dir string) ([]*ExportedCar, error)

func (*Project) InstallPackages

func (p *Project) InstallPackages(ctx context.Context, ienv *InstallEnv) (
	[]string, *PackagesToInstall, *InstallStats, error,
)

func (*Project) L

func (c *Project) L() hclog.Logger

func (*Project) Resolve

func (p *Project) Resolve() (*homebrew.Resolution, error)

func (*Project) SetLogger

func (c *Project) SetLogger(logger hclog.Logger)

type ProjectLoad

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

func (*ProjectLoad) L

func (c *ProjectLoad) L() hclog.Logger

func (*ProjectLoad) Load

func (c *ProjectLoad) Load(ctx context.Context, cfg *config.Config) (*Project, error)

func (*ProjectLoad) LoadSet

func (c *ProjectLoad) LoadSet(ctx context.Context, cfg *config.Config, path string) (*Project, error)

func (*ProjectLoad) Search

func (l *ProjectLoad) Search(ctx context.Context, code SearchCond) ([]*data.RepoEntry, error)

func (*ProjectLoad) SetLogger

func (c *ProjectLoad) SetLogger(logger hclog.Logger)

func (*ProjectLoad) Single

func (c *ProjectLoad) Single(ctx context.Context, cfg *config.Config, name string) (*Project, error)

type ProjectSource

type ProjectSource struct {
	Name string
	Ref  string
}

type RepoDetect

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

func (*RepoDetect) Detect

func (r *RepoDetect) Detect(path string) (string, error)

type RepoReadIndex

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

func (*RepoReadIndex) L

func (c *RepoReadIndex) L() hclog.Logger

func (*RepoReadIndex) Read

func (r *RepoReadIndex) Read() (*data.RepoIndex, error)

func (*RepoReadIndex) SetLogger

func (c *RepoReadIndex) SetLogger(logger hclog.Logger)

type RepoWriteIndex

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

func (*RepoWriteIndex) L

func (c *RepoWriteIndex) L() hclog.Logger

func (*RepoWriteIndex) SetLogger

func (c *RepoWriteIndex) SetLogger(logger hclog.Logger)

func (*RepoWriteIndex) Write

func (r *RepoWriteIndex) Write() error

type RunCtx

type RunCtx struct {
	L hclog.Logger
	// contains filtered or unexported fields
}

func (*RunCtx) Attr

func (r *RunCtx) Attr(name string) (exprcore.Value, error)

func (*RunCtx) AttrNames

func (r *RunCtx) AttrNames() []string

func (*RunCtx) Freeze

func (r *RunCtx) Freeze()

Freeze causes the value, and all values transitively reachable from it through collections and closures, to be marked as frozen. All subsequent mutations to the data structure through this API will fail dynamically, making the data structure immutable and safe for publishing to other exprcore interpreters running concurrently.

func (*RunCtx) Hash

func (r *RunCtx) Hash() (uint32, error)

Hash returns a function of x such that Equals(x, y) => Hash(x) == Hash(y). Hash may fail if the value's type is not hashable, or if the value contains a non-hashable value. The hash is used only by dictionaries and is not exposed to the exprcore program.

func (*RunCtx) String

func (r *RunCtx) String() string

String returns the string representation of the value. exprcore string values are quoted as if by Python's repr.

func (*RunCtx) Truth

func (r *RunCtx) Truth() exprcore.Bool

Truth returns the truth value of an object.

func (*RunCtx) Type

func (r *RunCtx) Type() string

Type returns a short string describing the value's type.

type ScannedPackage

type ScannedPackage struct {
	Path    string
	Info    *data.PackageInfo
	Package *ScriptPackage
}

type ScriptCalcDeps

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

func (*ScriptCalcDeps) BuildDeps

func (i *ScriptCalcDeps) BuildDeps(pkg *ScriptPackage) ([]*ScriptPackage, error)

func (*ScriptCalcDeps) EvalDeps

func (i *ScriptCalcDeps) EvalDeps(pkgs []*ScriptPackage) ([]*ScriptPackage, error)

func (*ScriptCalcDeps) RuntimeDeps

func (i *ScriptCalcDeps) RuntimeDeps(pkg *ScriptPackage) ([]*ScriptPackage, error)

type ScriptCalcSig

type ScriptCalcSig struct {
	Name         string
	Version      string
	Description  string
	URL          string
	Metadata     map[string]string
	Install      *exprcore.Function
	Hook         *exprcore.Function
	PostInstall  *exprcore.Function
	Inputs       []ScriptInput
	Dependencies []*ScriptPackage
	ExplicitDeps []*ScriptPackage
	Instances    []*Instance
	// contains filtered or unexported fields
}

func (*ScriptCalcSig) Calculate

func (s *ScriptCalcSig) Calculate(
	proto *exprcore.Prototype,
	helperSum []byte,
	constraints map[string]string,
) (string, string, error)

func (*ScriptCalcSig) L

func (c *ScriptCalcSig) L() hclog.Logger

func (*ScriptCalcSig) SetLogger

func (c *ScriptCalcSig) SetLogger(logger hclog.Logger)

type ScriptData

type ScriptData interface {
	Script() []byte
	Asset(name string) ([]byte, error)
	Repo() string
	RepoConfig() repo.Repo
	Vendor() string
}

type ScriptFile

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

func (*ScriptFile) Freeze

func (s *ScriptFile) Freeze()

func (*ScriptFile) Hash

func (s *ScriptFile) Hash() (uint32, error)

func (*ScriptFile) String

func (s *ScriptFile) String() string

String returns the string representation of the value. exprcore string values are quoted as if by Python's repr.

func (*ScriptFile) Sum

func (s *ScriptFile) Sum() (string, []byte, bool)

func (*ScriptFile) Truth

func (s *ScriptFile) Truth() exprcore.Bool

func (*ScriptFile) Type

func (s *ScriptFile) Type() string

Type returns a short string describing the value's type.

type ScriptInput

type ScriptInput struct {
	Name     string
	Data     *ScriptFile
	Instance *Instance
}

type ScriptInstall

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

func (*ScriptInstall) Install

func (i *ScriptInstall) Install(ctx context.Context, ienv *InstallEnv) error

func (*ScriptInstall) L

func (c *ScriptInstall) L() hclog.Logger

func (*ScriptInstall) SetLogger

func (c *ScriptInstall) SetLogger(logger hclog.Logger)

type ScriptLoad

type ScriptLoad struct {
	Store *config.Store
	// contains filtered or unexported fields
}

func (*ScriptLoad) L

func (c *ScriptLoad) L() hclog.Logger

func (*ScriptLoad) Load

func (s *ScriptLoad) Load(name string, opts ...Option) (*ScriptPackage, error)

func (*ScriptLoad) Search

func (s *ScriptLoad) Search(query string, opts ...Option) ([]*ScriptPackage, error)

func (*ScriptLoad) SetLogger

func (c *ScriptLoad) SetLogger(logger hclog.Logger)

type ScriptLookup

type ScriptLookup struct {
	Path []string
	// contains filtered or unexported fields
}

func (*ScriptLookup) L

func (c *ScriptLookup) L() hclog.Logger

func (*ScriptLookup) Load

func (s *ScriptLookup) Load(name string) (ScriptData, error)

func (*ScriptLookup) LoadDir

func (s *ScriptLookup) LoadDir(dir, name string) (ScriptData, error)

func (*ScriptLookup) LoadFile

func (s *ScriptLookup) LoadFile(path string) (ScriptData, error)

func (*ScriptLookup) LoadGithub

func (s *ScriptLookup) LoadGithub(repo, name string) (ScriptData, error)

func (*ScriptLookup) SetLogger

func (c *ScriptLookup) SetLogger(logger hclog.Logger)

func (*ScriptLookup) Walk

func (s *ScriptLookup) Walk(fn func(string, ScriptData) error) error

func (*ScriptLookup) WalkDir

func (s *ScriptLookup) WalkDir(dir string, fn func(string, ScriptData) error) error

type ScriptPackage

type ScriptPackage struct {
	PackageInfo *data.PackageInfo

	Instance *Instance
	// contains filtered or unexported fields
}

func ProcessPrototype

func ProcessPrototype(pkgval exprcore.Value, constraints map[string]string) (*ScriptPackage, error)

func (*ScriptPackage) Attr

func (s *ScriptPackage) Attr(name string) (exprcore.Value, error)

func (*ScriptPackage) AttrNames

func (s *ScriptPackage) AttrNames() []string

func (*ScriptPackage) Constraints

func (s *ScriptPackage) Constraints() map[string]string

func (*ScriptPackage) Dependencies

func (s *ScriptPackage) Dependencies() []*ScriptPackage

Dependencies returns any ScriptPackages that this one depends on, as declared via the dependencies keyword.

func (*ScriptPackage) DependencyNames

func (s *ScriptPackage) DependencyNames() []string

func (*ScriptPackage) Description

func (s *ScriptPackage) Description() string

func (*ScriptPackage) Freeze

func (s *ScriptPackage) Freeze()

Freeze causes the value, and all values transitively reachable from it through collections and closures, to be marked as frozen. All subsequent mutations to the data structure through this API will fail dynamically, making the data structure immutable and safe for publishing to other exprcore interpreters running concurrently.

func (*ScriptPackage) Hash

func (s *ScriptPackage) Hash() (uint32, error)

Hash returns a function of x such that Equals(x, y) => Hash(x) == Hash(y). Hash may fail if the value's type is not hashable, or if the value contains a non-hashable value. The hash is used only by dictionaries and is not exposed to the exprcore program.

func (*ScriptPackage) ID

func (s *ScriptPackage) ID() string

func (*ScriptPackage) Metadata

func (s *ScriptPackage) Metadata() map[string]string

func (*ScriptPackage) Name

func (s *ScriptPackage) Name() string

func (*ScriptPackage) Repo

func (s *ScriptPackage) Repo() string

func (*ScriptPackage) RepoConfig

func (s *ScriptPackage) RepoConfig() repo.Repo

func (*ScriptPackage) Signature

func (s *ScriptPackage) Signature() string

func (*ScriptPackage) String

func (s *ScriptPackage) String() string

String returns the string representation of the value. exprcore string values are quoted as if by Python's repr.

func (*ScriptPackage) Truth

func (s *ScriptPackage) Truth() exprcore.Bool

Truth returns the truth value of an object.

func (*ScriptPackage) Type

func (s *ScriptPackage) Type() string

Type returns a short string describing the value's type.

func (*ScriptPackage) URL

func (s *ScriptPackage) URL() string

URL is the homepage for the project, not where to download it.

func (*ScriptPackage) Vendor

func (s *ScriptPackage) Vendor() string

Returns the vendor (if any) that the script was loaded from in the repo.

func (*ScriptPackage) Version

func (s *ScriptPackage) Version() string

type SearchCond

type SearchCond interface {
	Match(ent *data.RepoEntry) bool
}

func SearchJQ

func SearchJQ(str string) (SearchCond, error)

func SearchRegexp

func SearchRegexp(str string) (SearchCond, error)

type SearchResult

type SearchResult struct {
	Results []string
}

type StoreFind

type StoreFind struct {
	StoreDir string
}

func (*StoreFind) Find

func (s *StoreFind) Find(id string) (string, error)

type StoreFindDeps

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

func (*StoreFindDeps) PruneDeps

func (s *StoreFindDeps) PruneDeps(id string, deps []*ScriptPackage) ([]*ScriptPackage, error)

type StoreFreeze

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

func (*StoreFreeze) Freeze

func (s *StoreFreeze) Freeze(id string) error

type StoreScan

type StoreScan struct{}

func (*StoreScan) Scan

func (s *StoreScan) Scan(ctx context.Context, cfg *config.Config, validate bool) ([]*ScannedPackage, error)

type UI

type UI struct {
}

func GetUI

func GetUI(ctx context.Context) *UI

func (*UI) DownloadInput

func (u *UI) DownloadInput(url, ht string, hash []byte) error

func (*UI) InstallCar

func (u *UI) InstallCar(url string) error

func (*UI) InstallPrologue

func (u *UI) InstallPrologue(cfg *config.Config) error

func (*UI) ListDepedencies

func (u *UI) ListDepedencies(pkgs []*ScriptPackage)

func (*UI) RunScript

func (u *UI) RunScript(pkg *ScriptPackage) error

Jump to

Keyboard shortcuts

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