MCPcopy Index your code
hub / github.com/jetify-com/devbox / updatePendingPackages

Method updatePendingPackages

internal/devbox/update.go:126–141  ·  view source on GitHub ↗

updatePendingPackages updates the lockfile entries for each package, using the right strategy per package kind. Flake refs warn-and-continue on failure (see #1180 / #1840); versioned nixpkgs packages abort the update on failure. Unversioned non-flake entries are left alone.

(pkgs []*devpkg.Package)

Source from the content-addressed store, hash-verified

124// failure (see #1180 / #1840); versioned nixpkgs packages abort the update on
125// failure. Unversioned non-flake entries are left alone.
126func (d *Devbox) updatePendingPackages(pkgs []*devpkg.Package) error {
127 for _, pkg := range pkgs {
128 if pkgtype.IsFlake(pkg.Raw) {
129 if err := d.updateDevboxPackage(pkg); err != nil {
130 ux.Fwarningf(d.stderr, "Failed to update %s: %s\n", pkg.Raw, err)
131 }
132 continue
133 }
134 if _, _, isVersioned := searcher.ParseVersionedPackage(pkg.Raw); isVersioned {
135 if err := d.updateDevboxPackage(pkg); err != nil {
136 return err
137 }
138 }
139 }
140 return nil
141}
142
143func (d *Devbox) updateDevboxPackage(pkg *devpkg.Package) error {
144 // refresh=true so flake refs bypass nix's own metadata cache and re-query

Callers 1

UpdateMethod · 0.95

Calls 4

updateDevboxPackageMethod · 0.95
IsFlakeFunction · 0.92
FwarningfFunction · 0.92
ParseVersionedPackageFunction · 0.92

Tested by

no test coverage detected