diff --git a/Makefile b/Makefile index b359373..d7d1440 100644 --- a/Makefile +++ b/Makefile @@ -11,14 +11,6 @@ buildcli: cli: go install git.unistack.org/unistack-org/pkgdash/cmd/pkgdashcli -.PHONY: buildcli -buildcli: - CGO_ENABLED=0 go build -o bin/app -mod=readonly git.unistack.org/unistack-org/pkgdash/cmd/pkgdashcli - -.PHONY: cli -cli: - go install git.unistack.org/unistack-org/pkgdash/cmd/pkgdashcli - .PHONY: test test: go test -v ./... -race -cover diff --git a/go.mod b/go.mod index 6beb75c..c3a5305 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,6 @@ require ( github.com/jdx/go-netrc v1.0.0 github.com/jmoiron/sqlx v1.3.1 github.com/pkg/errors v0.9.1 - github.com/spf13/cobra v1.8.0 github.com/stretchr/testify v1.8.3 go.unistack.org/micro-client-http/v4 v4.0.2 go.unistack.org/micro-codec-json/v4 v4.0.0 @@ -34,9 +33,7 @@ require ( require ( github.com/google/go-cmp v0.6.0 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/silas/dag v0.0.0-20220518035006-a7e85ada93c5 // indirect - github.com/spf13/pflag v1.0.5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240311132316-a219d84964c2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) @@ -80,7 +77,6 @@ require ( github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgtype v1.14.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/jdx/go-netrc v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/lyft/protoc-gen-star/v2 v2.0.3 // indirect diff --git a/go.sum b/go.sum index 0678c75..1fd871e 100644 --- a/go.sum +++ b/go.sum @@ -297,7 +297,6 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -619,8 +618,6 @@ github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -933,7 +930,6 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= @@ -975,14 +971,11 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= diff --git a/internal/cli/init.go b/internal/cli/init.go deleted file mode 100644 index 2b9fc6d..0000000 --- a/internal/cli/init.go +++ /dev/null @@ -1,133 +0,0 @@ -/* -Copyright © 2024 NAME HERE -*/ -package cli - -import ( - "context" - "fmt" - "os" - "path/filepath" - - "git.unistack.org/unistack-org/pkgdash/internal/configcli" - "git.unistack.org/unistack-org/pkgdash/internal/source" - "git.unistack.org/unistack-org/pkgdash/internal/source/github" - "github.com/spf13/cobra" - yamlcodec "go.unistack.org/micro-codec-yaml/v4" - envconfig "go.unistack.org/micro-config-env/v4" - fileconfig "go.unistack.org/micro-config-file/v4" - "go.unistack.org/micro/v4/config" - "go.unistack.org/micro/v4/logger" - "go.unistack.org/micro/v4/logger/slog" - "go.unistack.org/micro/v4/options" -) - -// initCmd represents the init command -var initCmd = NewInitCommand() - -var gitsource source.SourceControl = (*github.Github)(nil) - -var cfg = configcli.NewConfig() - -var ( - DefaultPullRequestTitle = `Bump {{.Name}} from {{.VersionOld}} to {{.VersionNew}}` - DefaultPullRequestBody = `Bumps {{.Name}} from {{.VersionOld}} to {{.VersionNew}}` -) - -var ( - configFiles = []string{ - "dependabot.yml", - "pkgdashcli.yml", - "pkgdashcli.yaml", - } - configDirs = []string{ - ".gitea", - ".github", - ".gitlab", - } -) - -func init() { - rootCmd.AddCommand(initCmd) -} - -func NewInitCommand() *cobra.Command { - ctx := context.Background() - - logger.DefaultLogger = slog.NewLogger() - - if err := logger.DefaultLogger.Init(logger.WithCallerSkipCount(3), logger.WithLevel(logger.DebugLevel)); err != nil { - logger.Error(ctx, fmt.Sprintf("logger init error: %v", err)) - } - - cmd := &cobra.Command{ - Use: "init", - Short: "Init fills the config with data from the configuration file.", - Long: `Init fills the config with data from the configuration file.`, - RunE: func(cmd *cobra.Command, args []string) error { - logger.Info(ctx, "Init called") - var err error - - lCfg := configcli.NewConfig() - - if err = config.Load(ctx, - []config.Config{ - config.NewConfig( - config.Struct(lCfg), - ), - envconfig.NewConfig( - config.Struct(lCfg), - ), - }, - config.LoadOverride(true), - ); err != nil { - logger.Fatal(ctx, fmt.Sprintf("failed to load config: %v", err)) - } - - for _, configDir := range configDirs { - for _, configFile := range configFiles { - path := filepath.Join(configDir, configFile) - if _, err = os.Stat(path); os.IsNotExist(err) { - continue - } - - c := fileconfig.NewConfig( - config.AllowFail(false), - config.Struct(lCfg), - options.Codec(yamlcodec.NewCodec()), - fileconfig.Path(path), - ) - err = c.Init(options.Context(ctx)) - if err != nil { - logger.Error(ctx, fmt.Sprintf("failed to init config: %v", err)) - return err - } - if err = c.Load(ctx, config.LoadOverride(true)); err != nil { - logger.Error(ctx, fmt.Sprintf("failed to load config: %v", err)) - return err - } - } - } - - logger.Info(ctx, fmt.Sprintf("Load config... \n %s", cfg)) - - if cfg.PullRequestBody == "" { - cfg.PullRequestBody = DefaultPullRequestBody - } - - if cfg.PullRequestTitle == "" { - cfg.PullRequestTitle = DefaultPullRequestTitle - } - - gitsource = source.NewSourceControl(*lCfg) - - logger.Info(ctx, fmt.Sprintf("Git: %s", gitsource.Name())) - - cfg = lCfg - - return nil - }, - } - - return cmd -} diff --git a/internal/configcli/config.go b/internal/configcli/config.go index d808000..79f793c 100644 --- a/internal/configcli/config.go +++ b/internal/configcli/config.go @@ -34,16 +34,3 @@ func NewConfig() *Config { UpdateOpt: &UpdateOpt{}, } } - -type UpdateOpt struct { - Pre bool `json:"pre" yaml:"pre" default:"false"` - Major bool `json:"major" yaml:"major" default:"false"` - UpMajor bool `json:"up_major" yaml:"up_major" default:"false"` - Cached bool `json:"cached" yaml:"cached" default:"true"` -} - -func NewConfig() *Config { - return &Config{ - Source: &Source{}, - } -}