50fbc2eec2
* CI: use staticcheck for linting This commit switches the linter for Go code from golint to staticcheck. Golint has been deprecated since last year and staticcheck is a recommended replacement. Signed-off-by: Lucas Servén Marín <lserven@gmail.com> * revendor Signed-off-by: Lucas Servén Marín <lserven@gmail.com> * cmd,pkg: fix lint warnings Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
45 lines
798 B
Go
45 lines
798 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime/debug"
|
|
)
|
|
|
|
func printBuildInfo() {
|
|
if info, ok := debug.ReadBuildInfo(); ok {
|
|
fmt.Println("Main module:")
|
|
printModule(&info.Main)
|
|
fmt.Println("Dependencies:")
|
|
for _, dep := range info.Deps {
|
|
printModule(dep)
|
|
}
|
|
} else {
|
|
fmt.Println("Built without Go modules")
|
|
}
|
|
}
|
|
|
|
func buildInfoVersion() (string, bool) {
|
|
info, ok := debug.ReadBuildInfo()
|
|
if !ok {
|
|
return "", false
|
|
}
|
|
if info.Main.Version == "(devel)" {
|
|
return "", false
|
|
}
|
|
return info.Main.Version, true
|
|
}
|
|
|
|
func printModule(m *debug.Module) {
|
|
fmt.Printf("\t%s", m.Path)
|
|
if m.Version != "(devel)" {
|
|
fmt.Printf("@%s", m.Version)
|
|
}
|
|
if m.Sum != "" {
|
|
fmt.Printf(" (sum: %s)", m.Sum)
|
|
}
|
|
if m.Replace != nil {
|
|
fmt.Printf(" (replace: %s)", m.Replace.Path)
|
|
}
|
|
fmt.Println()
|
|
}
|