Skip to content

Commit f8b201a

Browse files
Add version package
1 parent ae3861b commit f8b201a

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

version/version.go

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package version
2+
3+
import "fmt"
4+
5+
var (
6+
defaultVersionString = "0.0.0-git"
7+
versionString = ""
8+
commit = ""
9+
date = ""
10+
)
11+
12+
// Info is a struct that contains informations about the application
13+
type Info struct {
14+
Application string `json:"Application"`
15+
VersionString string `json:"VersionString"`
16+
Commit string `json:"Commit"`
17+
Date string `json:"Date"`
18+
}
19+
20+
// NewInfo returns a pointer to an updated Info struct
21+
func NewInfo(application string) *Info {
22+
return &Info{
23+
Application: application,
24+
VersionString: versionString,
25+
Commit: commit,
26+
Date: date,
27+
}
28+
}
29+
30+
func (i *Info) String() string {
31+
return fmt.Sprintf("%[1]s Version: %[2]s Commit: %[3]s Date: %[4]s", i.Application, i.VersionString, i.Commit, i.Date)
32+
}
33+
34+
//nolint:gochecknoinits
35+
func init() {
36+
if versionString == "" {
37+
versionString = defaultVersionString
38+
}
39+
}

0 commit comments

Comments
 (0)