github.com/chenfeining/golangci-lint@v1.0.2-0.20230730162517-14c6c67868df/cmd/golangci-lint/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "runtime/debug" 7 8 "github.com/chenfeining/golangci-lint/pkg/commands" 9 "github.com/chenfeining/golangci-lint/pkg/exitcodes" 10 ) 11 12 var ( 13 goVersion = "unknown" 14 15 // Populated by goreleaser during build 16 version = "master" 17 commit = "?" 18 date = "" 19 ) 20 21 func main() { 22 if buildInfo, available := debug.ReadBuildInfo(); available { 23 goVersion = buildInfo.GoVersion 24 25 if date == "" { 26 version = buildInfo.Main.Version 27 commit = fmt.Sprintf("(unknown, mod sum: %q)", buildInfo.Main.Sum) 28 date = "(unknown)" 29 } 30 } 31 32 info := commands.BuildInfo{ 33 GoVersion: goVersion, 34 Version: version, 35 Commit: commit, 36 Date: date, 37 } 38 39 e := commands.NewExecutor(info) 40 41 if err := e.Execute(); err != nil { 42 fmt.Fprintf(os.Stderr, "failed executing command with error %v\n", err) 43 os.Exit(exitcodes.Failure) 44 } 45 }