Skip to content

Commit

Permalink
refactor(generate): split the package for output
Browse files Browse the repository at this point in the history
  • Loading branch information
suzuki-shunsuke committed Nov 2, 2022
1 parent 012273d commit 42caed5
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 12 deletions.
10 changes: 4 additions & 6 deletions pkg/controller/generate/generate.go
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/aquaproj/aqua/pkg/config"
"github.com/aquaproj/aqua/pkg/config/aqua"
"github.com/aquaproj/aqua/pkg/config/registry"
"github.com/aquaproj/aqua/pkg/controller/generate/output"
"github.com/aquaproj/aqua/pkg/domain"
"github.com/aquaproj/aqua/pkg/expr"
"github.com/aquaproj/aqua/pkg/github"
Expand Down Expand Up @@ -46,7 +47,7 @@ type ConfigFinder interface {
}

type Outputter interface {
Output(param *OutputParam) error
Output(param *output.Param) error
}

func New(configFinder ConfigFinder, configReader domain.ConfigReader, registInstaller domain.RegistryInstaller, gh RepositoriesService, fs afero.Fs, fuzzyFinder FuzzyFinder, versionSelector VersionSelector) *Controller {
Expand All @@ -60,10 +61,7 @@ func New(configFinder ConfigFinder, configReader domain.ConfigReader, registInst
fs: fs,
fuzzyFinder: fuzzyFinder,
versionSelector: versionSelector,
outputter: &outputter{
fs: fs,
stdout: os.Stdout,
},
outputter: output.New(os.Stdout, fs),
}
}

Expand Down Expand Up @@ -104,7 +102,7 @@ func (ctrl *Controller) Generate(ctx context.Context, logE *logrus.Entry, param
return nil
}

return ctrl.outputter.Output(&OutputParam{ //nolint:wrapcheck
return ctrl.outputter.Output(&output.Param{ //nolint:wrapcheck
Insert: param.Insert,
Dest: param.Dest,
List: list,
Expand Down
@@ -1,4 +1,4 @@
package generate
package output

import (
"errors"
Expand All @@ -11,7 +11,7 @@ import (
"github.com/spf13/afero"
)

func (out *outputter) generateInsert(cfgFilePath string, pkgs []*aqua.Package) error {
func (out *Outputter) generateInsert(cfgFilePath string, pkgs []*aqua.Package) error {
b, err := afero.ReadFile(out.fs, cfgFilePath)
if err != nil {
return fmt.Errorf("read a configuration file: %w", err)
Expand Down
@@ -1,4 +1,4 @@
package generate
package output

import (
"fmt"
Expand All @@ -9,19 +9,26 @@ import (
"gopkg.in/yaml.v2"
)

type outputter struct {
type Outputter struct {
stdout io.Writer
fs afero.Fs
}

type OutputParam struct {
func New(stdout io.Writer, fs afero.Fs) *Outputter {
return &Outputter{
stdout: stdout,
fs: fs,
}
}

type Param struct {
Insert bool
Dest string
List []*aqua.Package
ConfigFilePath string
}

func (out *outputter) Output(param *OutputParam) error {
func (out *Outputter) Output(param *Param) error {
if !param.Insert && param.Dest == "" {
if err := yaml.NewEncoder(out.stdout).Encode(param.List); err != nil {
return fmt.Errorf("output generated package configuration: %w", err)
Expand Down

0 comments on commit 42caed5

Please sign in to comment.