48 lines
1009 B
Go
48 lines
1009 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/mayswind/lab/pkg/utils"
|
|
)
|
|
|
|
var (
|
|
// Version holds the version of this execution program
|
|
Version string
|
|
|
|
// CommitHash holds the git commit hash of this execution program's source code
|
|
CommitHash string
|
|
|
|
// BuildUnixTime holds the time when starting building this execution program
|
|
BuildUnixTime string
|
|
)
|
|
|
|
func GetFullVersion() string {
|
|
fullVersion := "Local Build"
|
|
|
|
if Version != "" {
|
|
fullVersion = Version
|
|
}
|
|
|
|
additionalInfos := make([]string, 0, 2)
|
|
|
|
if CommitHash != "" {
|
|
additionalInfos = append(additionalInfos, "commit " + CommitHash)
|
|
}
|
|
|
|
if BuildUnixTime != "" {
|
|
unixTime, err := utils.StringToInt64(BuildUnixTime)
|
|
|
|
if unixTime > 0 && err == nil {
|
|
additionalInfos = append(additionalInfos, "build time " + utils.FormatToLongDateTime(utils.ParseFromUnixTime(unixTime)))
|
|
}
|
|
}
|
|
|
|
if len(additionalInfos) > 0 {
|
|
fullVersion = fmt.Sprintf("%s (%s)", fullVersion, strings.Join(additionalInfos, ", "))
|
|
}
|
|
|
|
return fullVersion
|
|
}
|