
* cmd/dlv: dlv version --verbose That prints out runtime/debug.BuildInfo read from the dlv binary. Users can retrieve the same info using `go version -m <path_to_dlv>` but I think it is convenient to have. If dlv was built from cloned delve repo: ``` $ ./dlv version -v Delve Debugger Version: 1.7.0 Build: $Id: e353a65161e6ed74952b96bbb62ebfc56090832b $ Build Details: go1.16.5 mod github.com/go-delve/delve (devel) dep github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg= ... ``` If dlv was built with `go install github.com/go-delve/delve@latest` with go1.16+, or `GO111MODULE=on go get github.com/go-delve/delve@latest` from a clean main module: ``` $ ./dlv version -v Delve Debugger Version: 1.7.0 Build: $Id: e353a65161e6ed74952b96bbb62ebfc56090832b $ Build Details: go1.16.5 mod github.com/go-delve/delve v1.7.0 dep github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg= ... ``` * remove an accidentally added bogus test
40 lines
710 B
Go
40 lines
710 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: "0", Metadata: "",
|
|
Build: "$Id$",
|
|
}
|
|
)
|
|
|
|
func (v Version) String() string {
|
|
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())
|
|
}
|