package bininfo: add GitStatus

pull/2/head
q191201771 6 years ago
parent 2a2835adde
commit 34f01c3bdb

@ -46,4 +46,4 @@ bin/ ......可执行文件编译输出目录
#### 其他 #### 其他
本仓库主要用于存放我自己写的一些Go基础库代码。目前服务于我的另一个项目 [lal](https:////github.com/q191201771/lal) 本仓库主要用于存放我自己写的一些Go基础库代码。目前服务于我的另一个项目 [lal](https:////github.com/q191201771/lal)

@ -4,39 +4,45 @@ package bininfo
import ( import (
"fmt" "fmt"
"runtime" "runtime"
"strings"
) )
// 编译时通过如下方式传入编译时信息 // 编译时通过如下方式传入编译时信息
//
// #GitCommitID=`git log --pretty=format:'%h' -n 1`
// GitCommitLog=`git log --pretty=oneline -n 1`
// GitStatus=`git status -s`
// BuildTime=`date +'%Y.%m.%d.%H%M%S'`
// BuildGoVersion=`go version`
//
// go build -ldflags " \ // go build -ldflags " \
// -X 'github.com/q191201771/nezha/pkg/bininfo/bininfo.GitCommitID=`git log --pretty=format:'%h' -n 1`' \ // -X 'github.com/q191201771/nezha/pkg/bininfo.GitCommitLog=${GitCommitLog}' \
// -X 'github.com/q191201771/nezha/pkg/bininfo/bininfo.BuildTime=`date +'%Y.%m.%d.%H%M%S'`' \ // -X 'github.com/q191201771/nezha/pkg/bininfo.GitStatus=${GitStatus}' \
// -X 'github.com/q191201771/nezha/pkg/bininfo/bininfo.BuildGoVersion=`go version`' \ // -X 'github.com/q191201771/nezha/pkg/bininfo.BuildTime=${BuildTime}' \
// -X 'github.com/q191201771/nezha/pkg/bininfo.BuildGoVersion=${BuildGoVersion}' \
// " // "
var ( var (
GitCommitID string GitCommitLog = "unknown"
BuildTime string GitStatus = "unknown"
BuildGoVersion string BuildTime = "unknown"
BuildGoVersion = "unknown"
) )
func StringifySingleLine() string { func StringifySingleLine() string {
return fmt.Sprintf("GitCommitID=%s. BuildTime=%s. GoVersion=%s. runtime=%s/%s.", return fmt.Sprintf("GitCommitLog=%s. GitStatus=%s. BuildTime=%s. GoVersion=%s. runtime=%s/%s.",
GitCommitID, BuildTime, BuildGoVersion, runtime.GOOS, runtime.GOARCH) GitCommitLog, GitStatus, BuildTime, BuildGoVersion, runtime.GOOS, runtime.GOARCH)
} }
func StringifyMultiLine() string { func StringifyMultiLine() string {
return fmt.Sprintf("GitCommitID=%s\nBuildTime=%s\nGoVersion=%s\nruntime=%s/%s.", return fmt.Sprintf("GitCommitLog=%s\nGitStatus=%s\nBuildTime=%s\nGoVersion=%s\nruntime=%s/%s.",
GitCommitID, BuildTime, BuildGoVersion, runtime.GOOS, runtime.GOARCH) GitCommitLog, GitStatus, BuildTime, BuildGoVersion, runtime.GOOS, runtime.GOARCH)
} }
func init() { func init() {
if GitCommitID == "" { if GitStatus == "" {
GitCommitID = "unknown" GitStatus = "cleanly"
} } else {
if BuildTime == "" { GitStatus = strings.ReplaceAll(strings.ReplaceAll(GitStatus, "\r\n", " |"), "\n", " |")
BuildTime = "unknown"
}
if BuildGoVersion == "" {
BuildGoVersion = "unknown"
} }
} }

Loading…
Cancel
Save