From 6a703cea09deb975b1e55c419caa17d4981d5048 Mon Sep 17 00:00:00 2001 From: Chris Gianelloni Date: Wed, 22 May 2024 10:50:02 -0400 Subject: [PATCH] chore: golines (#224) Signed-off-by: Chris Gianelloni --- cmd/cardano-up/context.go | 9 ++- cmd/cardano-up/install.go | 3 +- cmd/cardano-up/list.go | 3 +- cmd/cardano-up/logs.go | 6 +- cmd/cardano-up/main.go | 3 +- cmd/cardano-up/uninstall.go | 3 +- cmd/cardano-up/up.go | 4 +- cmd/cardano-up/validate.go | 12 +++- cmd/cardano-up/version.go | 4 +- pkgmgr/config_test.go | 10 ++- pkgmgr/docker.go | 34 ++++++++-- pkgmgr/error.go | 25 +++++-- pkgmgr/installed_package.go | 8 ++- pkgmgr/package.go | 129 ++++++++++++++++++++++++++++++------ pkgmgr/package_test.go | 12 +++- pkgmgr/pkgmgr.go | 60 ++++++++++++++--- pkgmgr/registry.go | 6 +- pkgmgr/registry_test.go | 6 +- pkgmgr/resolver.go | 42 +++++++++--- pkgmgr/resolver_test.go | 22 ++++-- pkgmgr/template.go | 10 ++- 21 files changed, 335 insertions(+), 76 deletions(-) diff --git a/cmd/cardano-up/context.go b/cmd/cardano-up/context.go index 80e42d2..17bd643 100644 --- a/cmd/cardano-up/context.go +++ b/cmd/cardano-up/context.go @@ -145,8 +145,10 @@ func contextCreateCommand() *cobra.Command { } }, } - cmd.Flags().StringVarP(&contextFlags.description, "description", "d", "", "specifies description for context") - cmd.Flags().StringVarP(&contextFlags.network, "network", "n", "", "specifies network for context. if not specified, it's set automatically on the first package install") + cmd.Flags(). + StringVarP(&contextFlags.description, "description", "d", "", "specifies description for context") + cmd.Flags(). + StringVarP(&contextFlags.network, "network", "n", "", "specifies network for context. if not specified, it's set automatically on the first package install") return cmd } @@ -213,7 +215,8 @@ func contextDeleteCommand() *cobra.Command { ) }, } - cmd.Flags().BoolVarP(&contextFlags.force, "force", "f", false, "force removal of context with packages installed") + cmd.Flags(). + BoolVarP(&contextFlags.force, "force", "f", false, "force removal of context with packages installed") return cmd } diff --git a/cmd/cardano-up/install.go b/cmd/cardano-up/install.go index 08a49dd..5c06014 100644 --- a/cmd/cardano-up/install.go +++ b/cmd/cardano-up/install.go @@ -47,7 +47,8 @@ func installCommand() *cobra.Command { }, Run: installCommandRun, } - installCmd.Flags().StringVarP(&installFlags.network, "network", "n", "", fmt.Sprintf("specifies network for package (defaults to %q for empty context)", defaultNetwork)) + installCmd.Flags(). + StringVarP(&installFlags.network, "network", "n", "", fmt.Sprintf("specifies network for package (defaults to %q for empty context)", defaultNetwork)) return installCmd } diff --git a/cmd/cardano-up/list.go b/cmd/cardano-up/list.go index f7babd9..94ab39d 100644 --- a/cmd/cardano-up/list.go +++ b/cmd/cardano-up/list.go @@ -107,6 +107,7 @@ func listCommand() *cobra.Command { } }, } - listCmd.Flags().BoolVarP(&listFlags.all, "all", "A", false, "show packages from all contexts (defaults to only active context)") + listCmd.Flags(). + BoolVarP(&listFlags.all, "all", "A", false, "show packages from all contexts (defaults to only active context)") return listCmd } diff --git a/cmd/cardano-up/logs.go b/cmd/cardano-up/logs.go index fe29f53..8de1e9d 100644 --- a/cmd/cardano-up/logs.go +++ b/cmd/cardano-up/logs.go @@ -48,7 +48,9 @@ func logsCommand() *cobra.Command { } }, } - logsCmd.Flags().StringVarP(&logsFlags.tail, "tail", "n", "", "display at most X lines from the end of the log") - logsCmd.Flags().BoolVarP(&logsFlags.follow, "follow", "f", false, "follow log output") + logsCmd.Flags(). + StringVarP(&logsFlags.tail, "tail", "n", "", "display at most X lines from the end of the log") + logsCmd.Flags(). + BoolVarP(&logsFlags.follow, "follow", "f", false, "follow log output") return logsCmd } diff --git a/cmd/cardano-up/main.go b/cmd/cardano-up/main.go index 9ec8e99..b71c059 100644 --- a/cmd/cardano-up/main.go +++ b/cmd/cardano-up/main.go @@ -52,7 +52,8 @@ func main() { } // Global flags - rootCmd.PersistentFlags().BoolVarP(&globalFlags.debug, "debug", "D", false, "enable debug logging") + rootCmd.PersistentFlags(). + BoolVarP(&globalFlags.debug, "debug", "D", false, "enable debug logging") // Add subcommands rootCmd.AddCommand( diff --git a/cmd/cardano-up/uninstall.go b/cmd/cardano-up/uninstall.go index 40549d3..89a0a61 100644 --- a/cmd/cardano-up/uninstall.go +++ b/cmd/cardano-up/uninstall.go @@ -48,6 +48,7 @@ func uninstallCommand() *cobra.Command { } }, } - uninstallCmd.Flags().BoolVarP(&uninstallFlags.keepData, "keep-data", "k", false, "don't cleanup package data") + uninstallCmd.Flags(). + BoolVarP(&uninstallFlags.keepData, "keep-data", "k", false, "don't cleanup package data") return uninstallCmd } diff --git a/cmd/cardano-up/up.go b/cmd/cardano-up/up.go index 94eee57..56b8717 100644 --- a/cmd/cardano-up/up.go +++ b/cmd/cardano-up/up.go @@ -16,7 +16,9 @@ func upCommand() *cobra.Command { pm := createPackageManager() installedPackages := pm.InstalledPackages() if len(installedPackages) == 0 { - slog.Warn("no packages installed...automatically installing cardano-node") + slog.Warn( + "no packages installed...automatically installing cardano-node", + ) installCommandRun(cmd, []string{"cardano-node"}) } else { if err := pm.Up(); err != nil { diff --git a/cmd/cardano-up/validate.go b/cmd/cardano-up/validate.go index ded25a5..4cdabc1 100644 --- a/cmd/cardano-up/validate.go +++ b/cmd/cardano-up/validate.go @@ -31,7 +31,9 @@ func validateCommand() *cobra.Command { Short: "Validate package file(s) in the given directory", Args: func(cmd *cobra.Command, args []string) error { if len(args) > 1 { - return errors.New("only one package directory may be specified at a time") + return errors.New( + "only one package directory may be specified at a time", + ) } return nil }, @@ -47,14 +49,18 @@ func validateCommand() *cobra.Command { } cfg, err := pkgmgr.NewDefaultConfig() if err != nil { - slog.Error(fmt.Sprintf("failed to create package manager: %s", err)) + slog.Error( + fmt.Sprintf("failed to create package manager: %s", err), + ) os.Exit(1) } // Point at provided registry dir cfg.RegistryDir = absPackagesDir pm, err := pkgmgr.NewPackageManager(cfg) if err != nil { - slog.Error(fmt.Sprintf("failed to create package manager: %s", err)) + slog.Error( + fmt.Sprintf("failed to create package manager: %s", err), + ) os.Exit(1) } slog.Info( diff --git a/cmd/cardano-up/version.go b/cmd/cardano-up/version.go index 38f8379..f080b0d 100644 --- a/cmd/cardano-up/version.go +++ b/cmd/cardano-up/version.go @@ -27,7 +27,9 @@ func versionCommand() *cobra.Command { Use: "version", Short: "Displays the version", Run: func(cmd *cobra.Command, args []string) { - slog.Info(fmt.Sprintf("%s %s", programName, version.GetVersionString())) + slog.Info( + fmt.Sprintf("%s %s", programName, version.GetVersionString()), + ) }, } } diff --git a/pkgmgr/config_test.go b/pkgmgr/config_test.go index 3aed23d..d21ee52 100644 --- a/pkgmgr/config_test.go +++ b/pkgmgr/config_test.go @@ -18,7 +18,10 @@ func TestNewDefaultConfig(t *testing.T) { expectedConfigDir = filepath.Join(testHome, ".config/cardano-up") case "darwin": expectedCacheDir = filepath.Join(testHome, "Library/Caches/cardano-up") - expectedConfigDir = filepath.Join(testHome, "Library/Application Support/cardano-up") + expectedConfigDir = filepath.Join( + testHome, + "Library/Application Support/cardano-up", + ) default: t.Fatalf("unsupported OS: %s", runtime.GOOS) } @@ -63,7 +66,10 @@ func TestNewDefaultConfigXdgConfigCacheEnvVars(t *testing.T) { expectedConfigDir = filepath.Join(testXdgConfigHome, "cardano-up") case "darwin": expectedCacheDir = filepath.Join(testHome, "Library/Caches/cardano-up") - expectedConfigDir = filepath.Join(testHome, "Library/Application Support/cardano-up") + expectedConfigDir = filepath.Join( + testHome, + "Library/Application Support/cardano-up", + ) default: t.Fatalf("unsupported OS: %s", runtime.GOOS) } diff --git a/pkgmgr/docker.go b/pkgmgr/docker.go index 59db605..5201d2e 100644 --- a/pkgmgr/docker.go +++ b/pkgmgr/docker.go @@ -62,7 +62,10 @@ type DockerService struct { Ports []string } -func NewDockerServiceFromContainerName(containerName string, logger *slog.Logger) (*DockerService, error) { +func NewDockerServiceFromContainerName( + containerName string, + logger *slog.Logger, +) (*DockerService, error) { ret := &DockerService{ logger: logger, } @@ -231,7 +234,12 @@ func (d *DockerService) Remove() error { return nil } -func (d *DockerService) Logs(follow bool, tail string, stdoutWriter io.Writer, stderrWriter io.Writer) error { +func (d *DockerService) Logs( + follow bool, + tail string, + stdoutWriter io.Writer, + stderrWriter io.Writer, +) error { client, err := d.getClient() if err != nil { return err @@ -263,7 +271,11 @@ func (d *DockerService) pullImage() error { if err != nil { return err } - out, err := client.ImagePull(context.Background(), d.Image, image.PullOptions{}) + out, err := client.ImagePull( + context.Background(), + d.Image, + image.PullOptions{}, + ) if err != nil { return err } @@ -279,7 +291,10 @@ func (d *DockerService) pullImage() error { line := scanner.Text() if err := json.Unmarshal([]byte(line), &tmpStatus); err != nil { d.logger.Warn( - fmt.Sprintf("failed to unmarshal docker image pull status update: %s", err), + fmt.Sprintf( + "failed to unmarshal docker image pull status update: %s", + err, + ), ) } // Skip progress update lines @@ -309,7 +324,10 @@ func (d *DockerService) inspect() (types.ContainerJSON, error) { if err != nil { return types.ContainerJSON{}, err } - container, err := client.ContainerInspect(context.Background(), d.ContainerId) + container, err := client.ContainerInspect( + context.Background(), + d.ContainerId, + ) if err != nil { return types.ContainerJSON{}, err } @@ -434,7 +452,11 @@ func RemoveDockerImage(imageName string) error { if err != nil { return err } - _, err = client.ImageRemove(context.Background(), imageName, image.RemoveOptions{}) + _, err = client.ImageRemove( + context.Background(), + imageName, + image.RemoveOptions{}, + ) if err != nil { return err } diff --git a/pkgmgr/error.go b/pkgmgr/error.go index 937fbdc..223a1d4 100644 --- a/pkgmgr/error.go +++ b/pkgmgr/error.go @@ -26,11 +26,15 @@ var ErrOperationFailed = errors.New("the operation has failed") // ErrMultipleInstallMethods is returned when a package's install steps specify more than one install method // on a single install step -var ErrMultipleInstallMethods = errors.New("only one install method may be specified in an install step") +var ErrMultipleInstallMethods = errors.New( + "only one install method may be specified in an install step", +) // ErrNoInstallMethods is returned when a package's install steps include an install step which has no // recognized install method specified -var ErrNoInstallMethods = errors.New("no supported install method specified on install step") +var ErrNoInstallMethods = errors.New( + "no supported install method specified on install step", +) // ErrContextNotExist is returned when trying to selecting/managing a context that does not exist var ErrContextNotExist = errors.New("context does not exist") @@ -39,7 +43,9 @@ var ErrContextNotExist = errors.New("context does not exist") var ErrContextAlreadyExists = errors.New("specified context already exists") // ErrContextNoChangeNetwork is returned when updating a context with a network different than what was previously configured -var ErrContextNoChangeNetwork = errors.New("cannot change the configured network for a context") +var ErrContextNoChangeNetwork = errors.New( + "cannot change the configured network for a context", +) // ErrContextInstallNoNetwork is returned when performing an install with no network specified on the active context var ErrContextInstallNoNetwork = errors.New("no network specified for context") @@ -87,7 +93,11 @@ func NewResolverNoAvailablePackage(pkgSpec string) error { ) } -func NewResolverInstalledPackageNoMatchVersionSpecError(pkgName string, pkgVersion string, depSpec string) error { +func NewResolverInstalledPackageNoMatchVersionSpecError( + pkgName string, + pkgVersion string, + depSpec string, +) error { return fmt.Errorf( "installed package \"%s = %s\" does not match dependency: %s", pkgName, @@ -104,7 +114,12 @@ func NewPackageNotInstalledError(pkgName string, context string) error { ) } -func NewPackageUninstallWouldBreakDepsError(uninstallPkgName string, uninstallPkgVersion string, dependentPkgName string, dependentPkgVersion string) error { +func NewPackageUninstallWouldBreakDepsError( + uninstallPkgName string, + uninstallPkgVersion string, + dependentPkgName string, + dependentPkgVersion string, +) error { return fmt.Errorf( `uninstall of package "%s = %s" would break dependencies for package "%s = %s"`, uninstallPkgName, diff --git a/pkgmgr/installed_package.go b/pkgmgr/installed_package.go index 7601e61..aac4b3c 100644 --- a/pkgmgr/installed_package.go +++ b/pkgmgr/installed_package.go @@ -27,7 +27,13 @@ type InstalledPackage struct { Outputs map[string]string } -func NewInstalledPackage(pkg Package, context string, postInstallNotes string, outputs map[string]string, options map[string]bool) InstalledPackage { +func NewInstalledPackage( + pkg Package, + context string, + postInstallNotes string, + outputs map[string]string, + options map[string]bool, +) InstalledPackage { return InstalledPackage{ Package: pkg, InstalledTime: time.Now(), diff --git a/pkgmgr/package.go b/pkgmgr/package.go index d2db53d..561d7f0 100644 --- a/pkgmgr/package.go +++ b/pkgmgr/package.go @@ -107,7 +107,12 @@ func (p Package) hasTags(tags []string) bool { return true } -func (p Package) install(cfg Config, context string, opts map[string]bool, runHooks bool) (string, map[string]string, error) { +func (p Package) install( + cfg Config, + context string, + opts map[string]bool, + runHooks bool, +) (string, map[string]string, error) { // Update template vars pkgName := fmt.Sprintf("%s-%s-%s", p.Name, p.Version, context) pkgCacheDir := filepath.Join( @@ -171,7 +176,10 @@ func (p Package) install(cfg Config, context string, opts map[string]bool, runHo // Evaluate condition if defined if installStep.Condition != "" { if ok, err := cfg.Template.EvaluateCondition(installStep.Condition, nil); err != nil { - return "", nil, NewInstallStepConditionError(installStep.Condition, err) + return "", nil, NewInstallStepConditionError( + installStep.Condition, + err, + ) } else if !ok { cfg.Logger.Debug( fmt.Sprintf( @@ -265,7 +273,12 @@ func (p Package) install(cfg Config, context string, opts map[string]bool, runHo return retNotes, retOutputs, nil } -func (p Package) uninstall(cfg Config, context string, keepData bool, runHooks bool) error { +func (p Package) uninstall( + cfg Config, + context string, + keepData bool, + runHooks bool, +) error { pkgName := fmt.Sprintf("%s-%s-%s", p.Name, p.Version, context) // Run pre-uninstall script if runHooks && p.PreUninstallScript != "" { @@ -456,7 +469,10 @@ func (p Package) validate(cfg Config) error { ), ) if !strings.HasSuffix(p.filePath, expectedFilePath) { - return fmt.Errorf("package did not have expected file path: %s", expectedFilePath) + return fmt.Errorf( + "package did not have expected file path: %s", + expectedFilePath, + ) } // Validate install steps for _, installStep := range p.InstallSteps { @@ -490,16 +506,39 @@ func (p Package) startService(cfg Config, context string) error { if step.Docker.PullOnly { continue } - containerName := fmt.Sprintf("%s-%s", pkgName, step.Docker.ContainerName) - dockerService, err := NewDockerServiceFromContainerName(containerName, cfg.Logger) + containerName := fmt.Sprintf( + "%s-%s", + pkgName, + step.Docker.ContainerName, + ) + dockerService, err := NewDockerServiceFromContainerName( + containerName, + cfg.Logger, + ) if err != nil { - startErrors = append(startErrors, fmt.Sprintf("error initializing Docker service for container %s: %v", containerName, err)) + startErrors = append( + startErrors, + fmt.Sprintf( + "error initializing Docker service for container %s: %v", + containerName, + err, + ), + ) continue } // Start the Docker container if it's not running - slog.Info(fmt.Sprintf("Starting Docker container %s", containerName)) + slog.Info( + fmt.Sprintf("Starting Docker container %s", containerName), + ) if err := dockerService.Start(); err != nil { - startErrors = append(startErrors, fmt.Sprintf("failed to start Docker container %s: %v", containerName, err)) + startErrors = append( + startErrors, + fmt.Sprintf( + "failed to start Docker container %s: %v", + containerName, + err, + ), + ) } } } @@ -521,16 +560,37 @@ func (p Package) stopService(cfg Config, context string) error { if step.Docker.PullOnly { continue } - containerName := fmt.Sprintf("%s-%s", pkgName, step.Docker.ContainerName) - dockerService, err := NewDockerServiceFromContainerName(containerName, cfg.Logger) + containerName := fmt.Sprintf( + "%s-%s", + pkgName, + step.Docker.ContainerName, + ) + dockerService, err := NewDockerServiceFromContainerName( + containerName, + cfg.Logger, + ) if err != nil { - stopErrors = append(stopErrors, fmt.Sprintf("error initializing Docker service for container %s: %v", containerName, err)) + stopErrors = append( + stopErrors, + fmt.Sprintf( + "error initializing Docker service for container %s: %v", + containerName, + err, + ), + ) continue } // Stop the Docker container slog.Info(fmt.Sprintf("Stopping container %s", containerName)) if err := dockerService.Stop(); err != nil { - stopErrors = append(stopErrors, fmt.Sprintf("failed to stop Docker container %s: %v", containerName, err)) + stopErrors = append( + stopErrors, + fmt.Sprintf( + "failed to stop Docker container %s: %v", + containerName, + err, + ), + ) } } } @@ -543,7 +603,10 @@ func (p Package) stopService(cfg Config, context string) error { return nil } -func (p Package) services(cfg Config, context string) ([]*DockerService, error) { +func (p Package) services( + cfg Config, + context string, +) ([]*DockerService, error) { var ret []*DockerService pkgName := fmt.Sprintf("%s-%s-%s", p.Name, p.Version, context) for _, step := range p.InstallSteps { @@ -551,11 +614,22 @@ func (p Package) services(cfg Config, context string) ([]*DockerService, error) if step.Docker.PullOnly { continue } - containerName := fmt.Sprintf("%s-%s", pkgName, step.Docker.ContainerName) - dockerService, err := NewDockerServiceFromContainerName(containerName, cfg.Logger) + containerName := fmt.Sprintf( + "%s-%s", + pkgName, + step.Docker.ContainerName, + ) + dockerService, err := NewDockerServiceFromContainerName( + containerName, + cfg.Logger, + ) if err != nil { cfg.Logger.Error( - fmt.Sprintf("error initializing Docker service for container %s: %v", containerName, err), + fmt.Sprintf( + "error initializing Docker service for container %s: %v", + containerName, + err, + ), ) continue } @@ -716,7 +790,11 @@ func (p *PackageInstallStepDocker) install(cfg Config, pkgName string) error { return nil } -func (p *PackageInstallStepDocker) uninstall(cfg Config, pkgName string, keepData bool) error { +func (p *PackageInstallStepDocker) uninstall( + cfg Config, + pkgName string, + keepData bool, +) error { if !p.PullOnly { containerName := fmt.Sprintf("%s-%s", pkgName, p.ContainerName) svc, err := NewDockerServiceFromContainerName(containerName, cfg.Logger) @@ -775,7 +853,10 @@ func (p *PackageInstallStepDocker) activate(cfg Config, pkgName string) error { return nil } -func (p *PackageInstallStepDocker) deactivate(cfg Config, pkgName string) error { +func (p *PackageInstallStepDocker) deactivate( + cfg Config, + pkgName string, +) error { // Nothing to do return nil } @@ -793,7 +874,11 @@ func (p *PackageInstallStepFile) validate(cfg Config) error { return nil } -func (p *PackageInstallStepFile) install(cfg Config, pkgName string, packagePath string) error { +func (p *PackageInstallStepFile) install( + cfg Config, + pkgName string, + packagePath string, +) error { tmpFilePath, err := cfg.Template.Render(p.Filename, nil) if err != nil { return err @@ -891,7 +976,9 @@ func (p *PackageInstallStepFile) activate(cfg Config, pkgName string) error { if err := os.Symlink(filePath, binPath); err != nil { return err } - cfg.Logger.Debug(fmt.Sprintf("wrote symlink from %s to %s", binPath, filePath)) + cfg.Logger.Debug( + fmt.Sprintf("wrote symlink from %s to %s", binPath, filePath), + ) } return nil } diff --git a/pkgmgr/package_test.go b/pkgmgr/package_test.go index 71995eb..2e8b763 100644 --- a/pkgmgr/package_test.go +++ b/pkgmgr/package_test.go @@ -43,7 +43,11 @@ func TestNewPackageFromReader(t *testing.T) { t.Fatalf("unexpected error: %s", err) } if !reflect.DeepEqual(p, testDef.packageObj) { - t.Fatalf("did not get expected package object\n got: %#v\n expected: %#v", p, testDef.packageObj) + t.Fatalf( + "did not get expected package object\n got: %#v\n expected: %#v", + p, + testDef.packageObj, + ) } } } @@ -56,7 +60,11 @@ func TestPackageToYaml(t *testing.T) { } trimmedData := strings.TrimRight(string(data), "\r\n") if trimmedData != testDef.yaml { - t.Fatalf("did not get expected package YAML\n got: %s\n expected: %s", trimmedData, testDef.yaml) + t.Fatalf( + "did not get expected package YAML\n got: %s\n expected: %s", + trimmedData, + testDef.yaml, + ) } } } diff --git a/pkgmgr/pkgmgr.go b/pkgmgr/pkgmgr.go index 57d82f5..21843db 100644 --- a/pkgmgr/pkgmgr.go +++ b/pkgmgr/pkgmgr.go @@ -188,12 +188,26 @@ func (p *PackageManager) Install(pkgs ...string) error { tmpPkgOpts[k] = v } // Install package - notes, outputs, err := installPkg.Install.install(p.config, activeContextName, tmpPkgOpts, true) + notes, outputs, err := installPkg.Install.install( + p.config, + activeContextName, + tmpPkgOpts, + true, + ) if err != nil { return err } - installedPkg := NewInstalledPackage(installPkg.Install, activeContextName, notes, outputs, tmpPkgOpts) - p.state.InstalledPackages = append(p.state.InstalledPackages, installedPkg) + installedPkg := NewInstalledPackage( + installPkg.Install, + activeContextName, + notes, + outputs, + tmpPkgOpts, + ) + p.state.InstalledPackages = append( + p.state.InstalledPackages, + installedPkg, + ) if err := p.state.Save(); err != nil { return err } @@ -266,12 +280,26 @@ func (p *PackageManager) Upgrade(pkgs ...string) error { return err } // Install new version - notes, outputs, err := upgradePkg.Upgrade.install(p.config, activeContextName, pkgOpts, false) + notes, outputs, err := upgradePkg.Upgrade.install( + p.config, + activeContextName, + pkgOpts, + false, + ) if err != nil { return err } - installedPkg := NewInstalledPackage(upgradePkg.Upgrade, activeContextName, notes, outputs, pkgOpts) - p.state.InstalledPackages = append(p.state.InstalledPackages, installedPkg) + installedPkg := NewInstalledPackage( + upgradePkg.Upgrade, + activeContextName, + notes, + outputs, + pkgOpts, + ) + p.state.InstalledPackages = append( + p.state.InstalledPackages, + installedPkg, + ) if err := p.state.Save(); err != nil { return err } @@ -308,7 +336,11 @@ func (p *PackageManager) Upgrade(pkgs ...string) error { return nil } -func (p *PackageManager) Uninstall(pkgName string, keepData bool, force bool) error { +func (p *PackageManager) Uninstall( + pkgName string, + keepData bool, + force bool, +) error { // Find installed packages activeContextName, _ := p.ActiveContext() installedPackages := p.InstalledPackages() @@ -367,7 +399,13 @@ func (p *PackageManager) Uninstall(pkgName string, keepData bool, force bool) er return nil } -func (p *PackageManager) Logs(pkgName string, follow bool, tail string, stdoutWriter io.Writer, stderrWriter io.Writer) error { +func (p *PackageManager) Logs( + pkgName string, + follow bool, + tail string, + stdoutWriter io.Writer, + stderrWriter io.Writer, +) error { // Find installed packages activeContextName, _ := p.ActiveContext() installedPackages := p.InstalledPackages() @@ -498,7 +536,11 @@ func (p *PackageManager) Info(pkgs ...string) error { return nil } -func (p *PackageManager) uninstallPackage(uninstallPkg InstalledPackage, keepData bool, runHooks bool) error { +func (p *PackageManager) uninstallPackage( + uninstallPkg InstalledPackage, + keepData bool, + runHooks bool, +) error { // Uninstall package if err := uninstallPkg.Package.uninstall(p.config, uninstallPkg.Context, keepData, runHooks); err != nil { return err diff --git a/pkgmgr/registry.go b/pkgmgr/registry.go index 783398a..51856f8 100644 --- a/pkgmgr/registry.go +++ b/pkgmgr/registry.go @@ -43,7 +43,11 @@ func registryPackagesDir(cfg Config, validate bool) ([]Package, error) { return registryPackagesFs(cfg, tmpFs, validate) } -func registryPackagesFs(cfg Config, filesystem fs.ReadFileFS, validate bool) ([]Package, error) { +func registryPackagesFs( + cfg Config, + filesystem fs.ReadFileFS, + validate bool, +) ([]Package, error) { var ret []Package var retErr error absRegistryDir, err := filepath.Abs(cfg.RegistryDir) diff --git a/pkgmgr/registry_test.go b/pkgmgr/registry_test.go index a8da52b..2bf80ed 100644 --- a/pkgmgr/registry_test.go +++ b/pkgmgr/registry_test.go @@ -68,6 +68,10 @@ func TestRegistryPackagesFs(t *testing.T) { pkgs[idx] = pkg } if !reflect.DeepEqual(pkgs, testExpectedPkgs) { - t.Fatalf("did not get expected packages\n got: %#v\n expected: %#v", pkgs, testExpectedPkgs) + t.Fatalf( + "did not get expected packages\n got: %#v\n expected: %#v", + pkgs, + testExpectedPkgs, + ) } } diff --git a/pkgmgr/resolver.go b/pkgmgr/resolver.go index da8121f..007179b 100644 --- a/pkgmgr/resolver.go +++ b/pkgmgr/resolver.go @@ -42,7 +42,12 @@ type ResolverUpgradeSet struct { Options map[string]bool } -func NewResolver(installedPkgs []InstalledPackage, availablePkgs []Package, context string, logger *slog.Logger) (*Resolver, error) { +func NewResolver( + installedPkgs []InstalledPackage, + availablePkgs []Package, + context string, + logger *slog.Logger, +) (*Resolver, error) { r := &Resolver{ context: context, logger: logger, @@ -125,7 +130,8 @@ func (r *Resolver) Upgrade(pkgs ...string) ([]ResolverUpgradeSet, error) { if err != nil { return nil, err } - if latestPkg.Version == "" || latestPkg.Version == installedPkg.Package.Version { + if latestPkg.Version == "" || + latestPkg.Version == installedPkg.Package.Version { return nil, NewNoPackageAvailableForUpgradeError(pkg) } ret = append( @@ -211,7 +217,11 @@ func (r *Resolver) getNeededDeps(pkg Package) ([]ResolverInstallSet, error) { } else if !pkg.IsEmpty() { return nil, NewResolverInstalledPackageNoMatchVersionSpecError(pkg.Package.Name, pkg.Package.Version, dep) } - availablePkgs, err := r.findAvailable(depPkgName, depPkgVersionSpec, nil) + availablePkgs, err := r.findAvailable( + depPkgName, + depPkgVersionSpec, + nil, + ) if err != nil { return nil, err } @@ -267,7 +277,10 @@ func (r *Resolver) splitPackage(pkg string) (string, string, map[string]bool) { return pkgName, pkgVersionSpec, pkgOpts } -func (r *Resolver) findInstalled(pkgName string, pkgVersionSpec string) (InstalledPackage, error) { +func (r *Resolver) findInstalled( + pkgName string, + pkgVersionSpec string, +) (InstalledPackage, error) { constraints := version.Constraints{} if pkgVersionSpec != "" { tmpConstraints, err := version.NewConstraint(pkgVersionSpec) @@ -281,7 +294,9 @@ func (r *Resolver) findInstalled(pkgName string, pkgVersionSpec string) (Install continue } if pkgVersionSpec != "" { - installedPkgVer, err := version.NewVersion(installedPkg.Package.Version) + installedPkgVer, err := version.NewVersion( + installedPkg.Package.Version, + ) if err != nil { return InstalledPackage{}, err } @@ -294,7 +309,11 @@ func (r *Resolver) findInstalled(pkgName string, pkgVersionSpec string) (Install return InstalledPackage{}, nil } -func (r *Resolver) findAvailable(pkgName string, pkgVersionSpec string, extraConstraints version.Constraints) ([]Package, error) { +func (r *Resolver) findAvailable( + pkgName string, + pkgVersionSpec string, + extraConstraints version.Constraints, +) ([]Package, error) { var constraints version.Constraints // Filter to versions matching our version spec if pkgVersionSpec != "" { @@ -346,7 +365,11 @@ func (r *Resolver) findAvailable(pkgName string, pkgVersionSpec string, extraCon return ret, nil } -func (r *Resolver) latestAvailablePackage(pkgName string, pkgVersionSpec string, constraints version.Constraints) (Package, error) { +func (r *Resolver) latestAvailablePackage( + pkgName string, + pkgVersionSpec string, + constraints version.Constraints, +) (Package, error) { pkgs, err := r.findAvailable(pkgName, pkgVersionSpec, constraints) if err != nil { return Package{}, err @@ -354,7 +377,10 @@ func (r *Resolver) latestAvailablePackage(pkgName string, pkgVersionSpec string, return r.latestPackage(pkgs, constraints) } -func (r *Resolver) latestPackage(pkgs []Package, constraints version.Constraints) (Package, error) { +func (r *Resolver) latestPackage( + pkgs []Package, + constraints version.Constraints, +) (Package, error) { var ret Package var retVer *version.Version for _, pkg := range pkgs { diff --git a/pkgmgr/resolver_test.go b/pkgmgr/resolver_test.go index d3ac69b..4dda463 100644 --- a/pkgmgr/resolver_test.go +++ b/pkgmgr/resolver_test.go @@ -51,16 +51,30 @@ func TestSplitPackage(t *testing.T) { } for _, testDef := range testDefs { tmpResolver := &Resolver{} - pkgName, pkgVersionSpec, pkgOpts := tmpResolver.splitPackage(testDef.Package) + pkgName, pkgVersionSpec, pkgOpts := tmpResolver.splitPackage( + testDef.Package, + ) if pkgName != testDef.Name { - t.Fatalf("did not get expected package name: got %q, expected %q", pkgName, testDef.Name) + t.Fatalf( + "did not get expected package name: got %q, expected %q", + pkgName, + testDef.Name, + ) } if pkgVersionSpec != testDef.VersionSpec { - t.Fatalf("did not get expected package version spec: got %q, expected %q", pkgVersionSpec, testDef.VersionSpec) + t.Fatalf( + "did not get expected package version spec: got %q, expected %q", + pkgVersionSpec, + testDef.VersionSpec, + ) } if len(pkgOpts) > 0 && len(testDef.Options) > 0 { if !reflect.DeepEqual(pkgOpts, testDef.Options) { - t.Fatalf("did not get expected package options\n got: %#v\n expected: %#v", pkgOpts, testDef.Options) + t.Fatalf( + "did not get expected package options\n got: %#v\n expected: %#v", + pkgOpts, + testDef.Options, + ) } } } diff --git a/pkgmgr/template.go b/pkgmgr/template.go index dc15ff8..c03c186 100644 --- a/pkgmgr/template.go +++ b/pkgmgr/template.go @@ -34,7 +34,10 @@ func NewTemplate(baseVars map[string]any) *Template { } } -func (t *Template) Render(tmplBody string, extraVars map[string]any) (string, error) { +func (t *Template) Render( + tmplBody string, + extraVars map[string]any, +) (string, error) { // Build our vars tmpVars := map[string]any{} for k, v := range t.baseVars { @@ -69,7 +72,10 @@ func (t *Template) WithVars(extraVars map[string]any) *Template { return tmpl } -func (t *Template) EvaluateCondition(condition string, extraVars map[string]any) (bool, error) { +func (t *Template) EvaluateCondition( + condition string, + extraVars map[string]any, +) (bool, error) { tmpl := fmt.Sprintf( `{{ if %s }}true{{ else }}false{{ end }}`, condition,