app

package
v1.9.7 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SDKConfigActionAdded   = "added"
	SDKConfigActionUpdated = "updated"
	SDKConfigActionSkipped = "skipped"
)
View Source
const SelfUpdateRepo = "inherelab/eget"

Variables

This section is empty.

Functions

func CacheMirrorOptionsFromConfig added in v1.7.5

func CacheMirrorOptionsFromConfig(cfg *cfgpkg.File) cachemirror.Options

func NewDefaultSDKService added in v1.7.0

func NewDefaultSDKService(cfg *cfgpkg.File, noProxyOpt ...bool) (sdk.Service, error)

func ResolvePackageConfig added in v1.6.0

func ResolvePackageConfig(repo, name string, opts install.Options) (string, string, install.Options, error)

func ResolvePackageName added in v1.6.0

func ResolvePackageName(repo, name string) (string, error)

func ResolvePackageNameWithConfig added in v1.8.0

func ResolvePackageNameWithConfig(cfg *cfgpkg.File, repo, name string) (string, error)

Types

type ConfigInfoResult

type ConfigInfoResult struct {
	Path   string
	Exists bool
}

type ConfigPathResult added in v1.7.3

type ConfigPathResult struct {
	Target string
	Path   string
	Exists bool
}

type ConfigService

type ConfigService struct {
	ConfigPath   string
	Load         func() (*cfgpkg.File, error)
	Save         func(path string, file *cfgpkg.File) error
	RepoMetadata func(repo string) (RepoMetadata, error)
}

func (ConfigService) AddPackage

func (s ConfigService) AddPackage(repo, name string, opts install.Options) error

func (ConfigService) AddSDKConfig added in v1.7.0

func (ConfigService) ConfigExport added in v1.9.0

func (s ConfigService) ConfigExport(out io.Writer, withGlobal bool) error

ConfigExport writes the current configuration as portable TOML.

func (ConfigService) ConfigGet

func (s ConfigService) ConfigGet(key string) (any, error)

func (ConfigService) ConfigImport added in v1.9.0

func (s ConfigService) ConfigImport(sourcePath string) (string, error)

ConfigImport validates and replaces the writable configuration file.

func (ConfigService) ConfigImportCheck added in v1.9.0

func (s ConfigService) ConfigImportCheck(sourcePath string) error

ConfigImportCheck validates an import without changing the target file.

func (ConfigService) ConfigInfo

func (s ConfigService) ConfigInfo() (ConfigInfoResult, error)

func (ConfigService) ConfigInit

func (s ConfigService) ConfigInit() (string, error)

func (ConfigService) ConfigList

func (s ConfigService) ConfigList() (*cfgpkg.File, error)

func (ConfigService) ConfigPathInfo added in v1.7.3

func (s ConfigService) ConfigPathInfo(target string) (ConfigPathResult, error)

func (ConfigService) ConfigSet

func (s ConfigService) ConfigSet(key, value string) error

type DefaultExecutableReplacer added in v1.7.2

type DefaultExecutableReplacer struct{}

func (DefaultExecutableReplacer) Replace added in v1.7.2

func (DefaultExecutableReplacer) Replace(currentPath, replacementPath string) (SelfReplaceResult, error)

type ExecutableReplacer added in v1.7.2

type ExecutableReplacer interface {
	Replace(currentPath, replacementPath string) (SelfReplaceResult, error)
}

type InstallAllResult added in v1.6.0

type InstallAllResult struct {
	Name   string
	Target string
	Result RunResult
}

type InstallExtras

type InstallExtras struct {
	AddToConfig bool
	PackageName string
	PackageOpts install.Options
}

type InstalledLoader

type InstalledLoader interface {
	Load() (*storepkg.Config, error)
}

type InstalledStore

type InstalledStore interface {
	Record(target string, entry storepkg.Entry) error
}

type Installer

type Installer interface {
	InstallTarget(target string, opts install.Options, extras ...InstallExtras) (RunResult, error)
}

type LatestCheckTarget added in v1.7.0

type LatestCheckTarget struct {
	Name       string
	Repo       string
	SourcePath string
	Package    cfgpkg.Section
	Tag        string
	Asset      string
	Prerelease bool
}

type LatestInfo added in v1.6.0

type LatestInfo struct {
	Tag            string
	PublishedAt    time.Time
	AssetID        int64
	AssetName      string
	AssetSize      int64
	AssetUpdatedAt time.Time
	AssetDigest    string
}

type LatestInfoFunc added in v1.7.0

type LatestInfoFunc func(target LatestCheckTarget) (LatestInfo, error)

type ListItem

type ListItem struct {
	Name           string
	Repo           string
	SourcePath     string
	Package        cfgpkg.Section
	Target         string
	Tag            string
	Version        string
	InstalledTag   string
	Installed      bool
	InstalledAt    time.Time
	Asset          string
	AssetID        int64
	AssetSize      int64
	AssetUpdatedAt time.Time
	AssetDigest    string
	URL            string
	IsGUI          bool
	InstallMode    string
	Prerelease     bool
	IgnoreUpdate   bool
}

type ListService

type ListService struct {
	LoadConfig    func() (*cfgpkg.File, error)
	LoadInstalled func() (*storepkg.Config, error)
	LatestInfo    LatestInfoFunc
	OnCheckDone   func(checked, total int)
}

func (ListService) FindPackage added in v1.5.1

func (s ListService) FindPackage(name string) (*ListItem, error)

func (ListService) ListGUIPackages added in v1.5.2

func (s ListService) ListGUIPackages(all bool) ([]ListItem, error)

func (ListService) ListInstalledPackages added in v1.5.2

func (s ListService) ListInstalledPackages() ([]ListItem, error)

func (ListService) ListOutdatedPackages added in v1.5.1

func (s ListService) ListOutdatedPackages() ([]OutdatedItem, []OutdatedCheckFailure, int, error)

func (ListService) ListPackages

func (s ListService) ListPackages() ([]ListItem, error)

type OutdatedCheckFailure added in v1.5.1

type OutdatedCheckFailure struct {
	Name  string
	Repo  string
	Error error
}

type OutdatedItem added in v1.5.1

type OutdatedItem struct {
	Name         string
	Repo         string
	Target       string
	InstalledTag string
	LatestTag    string
	InstalledAt  time.Time
	PublishedAt  time.Time
}

type PackageAdder

type PackageAdder interface {
	AddPackage(repo, name string, opts install.Options) error
}

type QueryAsset added in v1.5.1

type QueryAsset = client.Asset

type QueryClient added in v1.5.1

type QueryClient interface {
	RepoInfo(repo string) (QueryRepoInfo, error)
	LatestRelease(repo string, includePrerelease bool) (QueryRelease, error)
	ListReleases(repo string, limit int, includePrerelease bool) ([]QueryRelease, error)
	ReleaseAssets(repo, tag string) ([]QueryAsset, error)
}

type QueryOptions added in v1.5.1

type QueryOptions struct {
	Repo       string
	Action     string
	Tag        string
	Limit      int
	JSON       bool
	Prerelease bool
}

type QueryRelease added in v1.5.1

type QueryRelease = client.Release

type QueryRepoInfo added in v1.5.1

type QueryRepoInfo = client.RepoInfo

type QueryResult added in v1.5.1

type QueryResult struct {
	Action   string         `json:"action"`
	Repo     string         `json:"repo"`
	Tag      string         `json:"tag,omitempty"`
	Info     *QueryRepoInfo `json:"info,omitempty"`
	Latest   *QueryRelease  `json:"latest,omitempty"`
	Releases []QueryRelease `json:"releases,omitempty"`
	Assets   []QueryAsset   `json:"assets,omitempty"`
	URLInfo  *QueryURLInfo  `json:"url_info,omitempty"`
}

func (QueryResult) JSONString added in v1.5.1

func (r QueryResult) JSONString() (string, error)

type QueryService added in v1.5.1

type QueryService struct {
	Client              QueryClient
	SourceForgeLatest   func(project, sourcePath string) (sourcesf.LatestInfo, error)
	SourceForgeReleases func(project, sourcePath string, limit int, includePrerelease bool) ([]sourcesf.LatestInfo, error)
	SourceForgeAssets   func(project, sourcePath, tag string) ([]string, error)
	URLInfo             func(rawURL string) (QueryURLInfo, error)
}

func (QueryService) Query added in v1.5.1

func (s QueryService) Query(opts QueryOptions) (QueryResult, error)

type QueryURLInfo added in v1.9.5

type QueryURLInfo = client.URLInfo

type ReleaseInfoFunc

type ReleaseInfoFunc func(repo, url string) (string, time.Time, error)

type RemovableInstalledStore

type RemovableInstalledStore interface {
	Load() (*storepkg.Config, error)
	Remove(target string) error
}

type RepoMetadata added in v1.7.0

type RepoMetadata struct {
	Desc     string
	Homepage string
	RepoURL  string
}

type RunResult

type RunResult = install.RunResult

type Runner

type Runner interface {
	Run(target string, opts install.Options) (RunResult, error)
}

type SDKConfigAddItem added in v1.7.0

type SDKConfigAddItem struct {
	Name   string
	Action string
	Reason string
	Source string
}

type SDKConfigAddOptions added in v1.7.0

type SDKConfigAddOptions struct {
	Name   string
	All    bool
	Force  bool
	Mirror string
}

type SDKConfigAddResult added in v1.7.0

type SDKConfigAddResult struct {
	Items []SDKConfigAddItem
}

type SearchClient added in v1.5.2

type SearchClient interface {
	SearchRepositories(query string, limit int, sort, order string) (SearchResult, error)
}

type SearchOptions added in v1.5.2

type SearchOptions struct {
	Keyword string
	Extras  []string
	Limit   int
	Sort    string
	Order   string
}

type SearchRepo added in v1.5.2

type SearchRepo = client.SearchRepo

type SearchResult added in v1.5.2

type SearchResult = client.SearchResult

type SearchService added in v1.5.2

type SearchService struct {
	Client SearchClient
}

func (SearchService) Search added in v1.5.2

func (s SearchService) Search(opts SearchOptions) (SearchResult, error)

type SelfReplaceResult added in v1.7.2

type SelfReplaceResult struct {
	Deferred bool
}

type SelfUpdateInstaller added in v1.7.2

type SelfUpdateInstaller interface {
	DownloadTarget(target string, opts install.Options) (RunResult, error)
}

type SelfUpdateOptions added in v1.7.2

type SelfUpdateOptions struct {
	CheckOnly bool
	Tag       string
	Source    string
	Asset     []string
	Install   install.Options
}

type SelfUpdateResult added in v1.7.2

type SelfUpdateResult struct {
	CurrentVersion string
	LatestVersion  string
	Updated        bool
	Outdated       bool
	Replacement    string
	Executable     string
	Deferred       bool
}

type SelfUpdateService added in v1.7.2

type SelfUpdateService struct {
	CurrentVersion   string
	LatestInfo       LatestInfoFunc
	SourceLatestInfo func(source string, opts install.Options) (LatestInfo, error)
	Installer        SelfUpdateInstaller
	Replacer         ExecutableReplacer
	RuntimeGOOS      string
	RuntimeGOARCH    string
	TempDir          func() (string, error)
	ExecutablePath   func() (string, error)
}

func (SelfUpdateService) Update added in v1.7.2

type Service

type Service struct {
	Runner       Runner
	Store        InstalledStore
	Config       PackageAdder
	Now          func() time.Time
	ReleaseInfo  ReleaseInfoFunc
	RepoMetadata func(repo string) (RepoMetadata, error)
	LoadConfig   func() (*cfgpkg.File, error)
}

func (Service) DownloadTarget

func (s Service) DownloadTarget(target string, opts install.Options) (RunResult, error)

func (Service) InstallAllPackages added in v1.6.0

func (s Service) InstallAllPackages(cli install.Options) ([]InstallAllResult, error)

func (Service) InstallTarget

func (s Service) InstallTarget(target string, opts install.Options, extras ...InstallExtras) (RunResult, error)

type ShowResult added in v1.7.0

type ShowResult struct {
	Name           string
	Repo           string
	Desc           string
	Homepage       string
	RepoURL        string
	Configured     bool
	Installed      bool
	ConfigTarget   string
	InstallTarget  string
	Version        string
	Tag            string
	InstalledAt    time.Time
	UpdatedAt      time.Time
	Asset          string
	AssetURL       string
	Tool           string
	ExtractedFiles []string
	IsGUI          bool
	InstallMode    string
	SourcePath     string
	Options        map[string]any
}

type ShowService added in v1.7.0

type ShowService struct {
	LoadConfig    func() (*cfgpkg.File, error)
	LoadInstalled func() (*storepkg.Config, error)
}

func (ShowService) ShowPackage added in v1.7.0

func (s ShowService) ShowPackage(target string) (ShowResult, error)

type UninstallOptions added in v1.7.8

type UninstallOptions struct {
	Purge bool
}

type UninstallResult

type UninstallResult struct {
	Repo         string
	RemovedFiles []string
	IsGUI        bool
	InstallMode  string
	PurgedConfig string
}

type UninstallService

type UninstallService struct {
	Store      RemovableInstalledStore
	LoadConfig func() (*cfgpkg.File, error)
	SaveConfig func(*cfgpkg.File) error
}

func (UninstallService) Uninstall

func (s UninstallService) Uninstall(target string) (UninstallResult, error)

func (UninstallService) UninstallWithOptions added in v1.7.8

func (s UninstallService) UninstallWithOptions(target string, opts UninstallOptions) (UninstallResult, error)

type UpdatePackageResult added in v1.7.6

type UpdatePackageResult struct {
	Name         string
	Target       string
	InstalledTag string
	LatestTag    string
	Updated      bool
	Result       RunResult
}

type UpdateResult

type UpdateResult struct {
	Name   string
	Target string
	Result RunResult
}

type UpdateService

type UpdateService struct {
	Install       Installer
	LoadConfig    func() (*cfgpkg.File, error)
	LoadInstalled func() (*storepkg.Config, error)
	LatestInfo    LatestInfoFunc
	OnCheckDone   func(checked, total int)
	OnUpdateStart func(index, total int, name string)
}

func (UpdateService) ListUpdateCandidates added in v1.5.2

func (s UpdateService) ListUpdateCandidates() ([]OutdatedItem, []OutdatedCheckFailure, int, error)

func (UpdateService) ListUpdateCandidatesForTargets added in v1.7.3

func (s UpdateService) ListUpdateCandidatesForTargets(targets []string) ([]OutdatedItem, []OutdatedCheckFailure, int, error)

func (UpdateService) UpdateAllPackages

func (s UpdateService) UpdateAllPackages(cli install.Options) ([]UpdateResult, error)

func (UpdateService) UpdateCandidates added in v1.5.2

func (s UpdateService) UpdateCandidates(candidates []OutdatedItem, cli install.Options) ([]UpdateResult, error)

func (UpdateService) UpdatePackage

func (s UpdateService) UpdatePackage(nameOrRepo string, cli install.Options) (RunResult, error)

func (UpdateService) UpdatePackageStatus added in v1.7.6

func (s UpdateService) UpdatePackageStatus(nameOrRepo string, cli install.Options) (UpdatePackageResult, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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