| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // +build go1.12
- 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()
- }
|