
In go1.18 buildInfo will include the git revision hash, use that to fix the Build field of Version so that it is correct even if Delve wasn't built using make.go.
46 lines
855 B
Go
46 lines
855 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
)
|
|
|
|
// Version represents the current version of Delve.
|
|
type Version struct {
|
|
Major string
|
|
Minor string
|
|
Patch string
|
|
Metadata string
|
|
Build string
|
|
}
|
|
|
|
var (
|
|
// DelveVersion is the current version of Delve.
|
|
DelveVersion = Version{
|
|
Major: "1", Minor: "7", Patch: "3", Metadata: "",
|
|
//TODO(aarzilli): before updating this to 1.8.0 re-enable staticcheck test
|
|
Build: "$Id$",
|
|
}
|
|
)
|
|
|
|
func (v Version) String() string {
|
|
fixBuild(&v)
|
|
ver := fmt.Sprintf("Version: %s.%s.%s", v.Major, v.Minor, v.Patch)
|
|
if v.Metadata != "" {
|
|
ver += "-" + v.Metadata
|
|
}
|
|
return fmt.Sprintf("%s\nBuild: %s", ver, v.Build)
|
|
}
|
|
|
|
var buildInfo = func() string {
|
|
return ""
|
|
}
|
|
|
|
func BuildInfo() string {
|
|
return fmt.Sprintf("%s\n%s", runtime.Version(), buildInfo())
|
|
}
|
|
|
|
var fixBuild = func(v *Version) {
|
|
// does nothing
|
|
}
|