(cmd *cobra.Command, deps commandDeps, checkOnly bool)
| 75 | } |
| 76 | |
| 77 | func runUpdateCommand(cmd *cobra.Command, deps commandDeps, checkOnly bool) error { |
| 78 | manager, err := resolveUpdateManager(deps) |
| 79 | if err != nil { |
| 80 | return err |
| 81 | } |
| 82 | |
| 83 | state, release, err := manager.Check(cmd.Context(), aghupdate.CheckOptions{ |
| 84 | ForceRefresh: true, |
| 85 | AllowCachedOnFailure: false, |
| 86 | }) |
| 87 | record := updateRecordFromState(state) |
| 88 | if err != nil { |
| 89 | return writeUpdateFailure(cmd, record, err) |
| 90 | } |
| 91 | if checkOnly || state.Status != aghupdate.StatusAvailable { |
| 92 | return writeCommandOutput(cmd, updateBundle(record)) |
| 93 | } |
| 94 | |
| 95 | return applyAvailableUpdate(cmd, deps, manager, release, record) |
| 96 | } |
| 97 | |
| 98 | func resolveUpdateManager(deps commandDeps) (updateManager, error) { |
| 99 | homePaths, err := deps.resolveHome() |
no test coverage detected