| New file |
| | |
| | | package version |
| | | |
| | | import ( |
| | | "encoding/json" |
| | | "flag" |
| | | "fmt" |
| | | "os" |
| | | ) |
| | | |
| | | var ( |
| | | BuildVersion string |
| | | BuildTime string |
| | | CommitSha1 string |
| | | ) |
| | | |
| | | func init() { |
| | | var showVer bool |
| | | flag.BoolVar(&showVer, "v", false, "display build version") |
| | | flag.Parse() |
| | | if showVer { |
| | | info := make(map[string]interface{}) |
| | | info["version"] = BuildVersion |
| | | info["build"] = BuildTime |
| | | info["commit"] = CommitSha1 |
| | | |
| | | b, err := json.Marshal(info) |
| | | if nil != err { |
| | | fmt.Println("internal error:", err) |
| | | os.Exit(1) |
| | | } else { |
| | | fmt.Println(string(b)) |
| | | os.Exit(0) |
| | | } |
| | | } |
| | | } |