MCPcopy Create free account
hub / github.com/celer-pkg/celer / InstallFromPkgCache

Method InstallFromPkgCache

configs/port_install.go:429–460  ·  view source on GitHub ↗
(options InstallOptions)

Source from the content-addressed store, hash-verified

427}
428
429func (p *Port) InstallFromPkgCache(options InstallOptions) (bool, error) {
430 // Check if pkgCacheConfig has been configured.
431 pkgCacheConfig := p.ctx.PkgCacheConfig()
432 if pkgCacheConfig == nil || pkgCacheConfig.GetDir(context.PkgCacheDirRoot) == "" {
433 return false, nil
434 }
435
436 installed, err := p.doInstallFromPkgCache(options)
437 if err != nil {
438 // Repo not exist is not error.
439 if errors.Is(err, errors.ErrRepoNotExit) {
440 return false, nil
441 }
442 return false, err
443 }
444
445 if installed {
446 // Install dependencies also.
447 if err := p.installDependencies(options); err != nil {
448 return false, err
449 }
450
451 if err := p.doInstallFromPackage(p.InstalledDir); err != nil {
452 return false, err
453 }
454
455 fromDir := pkgCacheConfig.GetDir(context.PkgCacheDirRoot)
456 return true, p.writeTraceFile(fmt.Sprintf("pkg-cache: %q", fromDir))
457 }
458
459 return false, nil
460}
461
462func (p *Port) InstallFromDevCache(options InstallOptions) (bool, error) {
463 // Install from local dev cache only work for hostDev or devDep.

Calls 8

doInstallFromPkgCacheMethod · 0.95
installDependenciesMethod · 0.95
doInstallFromPackageMethod · 0.95
writeTraceFileMethod · 0.95
IsFunction · 0.92
SprintfMethod · 0.80
PkgCacheConfigMethod · 0.65
GetDirMethod · 0.65