Skip to content

Commit

Permalink
fix: only load packages when needed (#158)
Browse files Browse the repository at this point in the history
Fixes #157
  • Loading branch information
agaffney authored Mar 24, 2024
1 parent 756217f commit e083fc6
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 11 deletions.
2 changes: 0 additions & 2 deletions cmd/cardano-up/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ func validateCommand() *cobra.Command {
}
// Point at provided registry dir
cfg.RegistryDir = absPackagesDir
// Disable preloading of registry to prevent errors before we explicitly start validation
cfg.RegistryPreload = false
pm, err := pkgmgr.NewPackageManager(cfg)
if err != nil {
slog.Error(fmt.Sprintf("failed to create package manager: %s", err))
Expand Down
4 changes: 1 addition & 3 deletions pkgmgr/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ type Config struct {
RequiredPackageTags []string
RegistryUrl string
RegistryDir string
RegistryPreload bool
}

func NewDefaultConfig() (Config, error) {
Expand Down Expand Up @@ -80,8 +79,7 @@ func NewDefaultConfig() (Config, error) {
runtime.GOOS,
runtime.GOARCH,
},
RegistryUrl: "https://github.com/blinklabs-io/cardano-up/archive/refs/heads/main.zip",
RegistryPreload: true,
RegistryUrl: "https://github.com/blinklabs-io/cardano-up/archive/refs/heads/main.zip",
}
return ret, nil
}
13 changes: 7 additions & 6 deletions pkgmgr/pkgmgr.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,6 @@ func (p *PackageManager) init() error {
if err := p.state.Load(); err != nil {
return fmt.Errorf("failed to load state: %s", err)
}
// Get available packages from configured registry
if p.config.RegistryPreload {
if err := p.loadPackageRegistry(false); err != nil {
return err
}
}
// Setup templating
p.initTemplate()
return nil
Expand Down Expand Up @@ -105,6 +99,13 @@ func (p *PackageManager) loadPackageRegistry(validate bool) error {

func (p *PackageManager) AvailablePackages() []Package {
var ret []Package
if p.availablePackages == nil {
if err := p.loadPackageRegistry(false); err != nil {
p.config.Logger.Warn(
fmt.Sprintf("failed to load packages: %s", err),
)
}
}
for _, pkg := range p.availablePackages {
if pkg.hasTags(p.config.RequiredPackageTags) {
ret = append(ret, pkg)
Expand Down

0 comments on commit e083fc6

Please sign in to comment.