mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 11:54:01 +03:00
Use buildinfo to get a version
This commit is contained in:
@@ -3,6 +3,8 @@ package main
|
||||
import (
|
||||
"math/rand"
|
||||
"os"
|
||||
"runtime/debug"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
||||
@@ -12,8 +14,6 @@ import (
|
||||
"github.com/9seconds/mtg/utils"
|
||||
)
|
||||
|
||||
var version = "dev" // this has to be set by build ld flags
|
||||
|
||||
var (
|
||||
app = kingpin.New("MTG", "Simple MTPROTO proxy.")
|
||||
|
||||
@@ -114,7 +114,7 @@ var (
|
||||
|
||||
func main() {
|
||||
rand.Seed(time.Now().UTC().UnixNano())
|
||||
app.Version(version)
|
||||
app.Version(getVersion())
|
||||
app.HelpFlag.Short('h')
|
||||
|
||||
if err := utils.SetLimits(); err != nil {
|
||||
@@ -153,3 +153,26 @@ func main() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getVersion() string {
|
||||
if info, ok := debug.ReadBuildInfo(); ok {
|
||||
builder := strings.Builder{}
|
||||
version := info.Main.Version
|
||||
|
||||
if version == "(devel)" {
|
||||
version = "dev"
|
||||
}
|
||||
|
||||
builder.WriteString(version)
|
||||
|
||||
if info.Main.Sum != "" {
|
||||
builder.WriteString(" (checksum: ")
|
||||
builder.WriteString(info.Main.Sum)
|
||||
builder.WriteRune(')')
|
||||
}
|
||||
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
return "dev"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user