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() }