Skip to content

Commit c74af28

Browse files
refactor: move versionInfo check to cmd
1 parent f89f498 commit c74af28

File tree

2 files changed

+32
-31
lines changed

2 files changed

+32
-31
lines changed

cmd/cmd.go

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@ package cmd
33

44
import (
55
"fmt"
6+
"runtime/debug"
67

78
"github.com/urfave/cli/v2"
89
)
910

10-
var versionTmpl = `commitlint version %s - built from %s on %s
11-
`
12-
1311
// New returns commitlint cli.App
1412
func New(versionNo, commitHash, builtTime string) *cli.App {
15-
versionInfo := fmt.Sprintf(versionTmpl, versionNo, commitHash, builtTime)
13+
versionInfo := formVersionInfo(versionNo, commitHash, builtTime)
1614

1715
cmds := []*cli.Command{
1816
createCmd(),
@@ -121,3 +119,32 @@ func verifyCmd() *cli.Command {
121119
Action: verifyCallback,
122120
}
123121
}
122+
123+
func formVersionInfo(versionInfo, commitInfo, buildTime string) string {
124+
versionTmpl := `commitlint version %s - built from %s on %s
125+
`
126+
versionInfo, commitInfo, buildTime = getVersionInfo(versionInfo, commitInfo, buildTime)
127+
return fmt.Sprintf(versionTmpl, versionInfo, commitInfo, buildTime)
128+
}
129+
130+
func getVersionInfo(version, commit, build string) (versionInfo, commitInfo, buildTime string) {
131+
if build != "" {
132+
return version, commit, build
133+
}
134+
135+
info, ok := debug.ReadBuildInfo()
136+
if !ok {
137+
return "master", "unknown", "unknown"
138+
}
139+
140+
checkSum := "unknown"
141+
if info.Main.Sum != "" {
142+
checkSum = info.Main.Sum
143+
}
144+
145+
versionInfo = info.Main.Version
146+
commitInfo = "(" + "checksum: " + checkSum + ")"
147+
buildTime = "unknown"
148+
149+
return versionInfo, commitInfo, buildTime
150+
}

main.go

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package main
33
import (
44
"fmt"
55
"os"
6-
"runtime/debug"
76

87
"github.com/conventionalcommit/commitlint/cmd"
98
)
@@ -16,36 +15,11 @@ var (
1615
BuildTime string
1716
)
1817

19-
func init() {
20-
setVersionInfo()
21-
}
22-
2318
func main() {
2419
app := cmd.New(Version, Commit, BuildTime)
2520
err := app.Run(os.Args)
2621
if err != nil {
27-
fmt.Println("Error: ", err)
22+
fmt.Println("Error:", err)
2823
os.Exit(cmd.ErrExitCode)
2924
}
3025
}
31-
32-
func setVersionInfo() {
33-
if BuildTime == "" {
34-
info, ok := debug.ReadBuildInfo()
35-
if ok {
36-
checkSum := "unknown"
37-
if info.Main.Sum != "" {
38-
checkSum = info.Main.Sum
39-
}
40-
41-
Version = info.Main.Version
42-
Commit = "(" + "checksum: " + checkSum + ")"
43-
BuildTime = "unknown"
44-
return
45-
}
46-
47-
Version = "master"
48-
Commit = "unknown"
49-
BuildTime = "unknown"
50-
}
51-
}

0 commit comments

Comments
 (0)