File tree Expand file tree Collapse file tree 1 file changed +57
-0
lines changed
Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change 1+ package config
2+
3+ import (
4+ "fmt"
5+ "runtime/debug"
6+ )
7+
8+ // Build constants
9+ // all variables are set during build
10+ var (
11+ version string
12+ commit string
13+ buildTime string
14+ )
15+
16+ // Version returns short version number of the commitlint
17+ func Version () string {
18+ return formShortVersion ()
19+ }
20+
21+ // FullVersion returns version number with hash and build time of the commitlint
22+ func FullVersion () string {
23+ return formFullVersion ()
24+ }
25+
26+ func formShortVersion () string {
27+ if buildTime != "" {
28+ return version
29+ }
30+
31+ info , ok := debug .ReadBuildInfo ()
32+ if ! ok {
33+ return "v0"
34+ }
35+ return info .Main .Version
36+ }
37+
38+ func formFullVersion () string {
39+ versionTmpl := "%s - built from %s on %s"
40+
41+ if buildTime != "" {
42+ return fmt .Sprintf (versionTmpl , version , commit , buildTime )
43+ }
44+
45+ info , ok := debug .ReadBuildInfo ()
46+ if ! ok {
47+ return fmt .Sprintf (versionTmpl , "master" , "unknown" , "unknown" )
48+ }
49+
50+ var commitInfo string
51+ if info .Main .Sum == "" {
52+ commitInfo = "(" + "checksum: unknown)"
53+ } else {
54+ commitInfo = "(" + "checksum: " + info .Main .Sum + ")"
55+ }
56+ return fmt .Sprintf (versionTmpl , info .Main .Version , commitInfo , "unknown" )
57+ }
You can’t perform that action at this time.
0 commit comments