golangci-lint/pkg/commands/executor.go

45 lines
742 B
Go

package commands
import (
"github.com/golangci/golangci-lint/pkg/config"
"github.com/golangci/golangci-lint/pkg/logutils"
"github.com/golangci/golangci-lint/pkg/report"
"github.com/spf13/cobra"
)
type Executor struct {
rootCmd *cobra.Command
cfg *config.Config
exitCode int
version, commit, date string
log logutils.Log
reportData report.Data
}
func NewExecutor(version, commit, date string) *Executor {
e := &Executor{
cfg: config.NewDefault(),
version: version,
commit: commit,
date: date,
}
e.log = report.NewLogWrapper(logutils.NewStderrLog(""), &e.reportData)
e.initRoot()
e.initRun()
e.initHelp()
e.initLinters()
return e
}
func (e Executor) Execute() error {
return e.rootCmd.Execute()
}