new demo/myapp show how to use bininfo

pull/2/head
q191201771 5 years ago
parent b9f6905392
commit 4e766a8277

@ -27,23 +27,23 @@ Go语言基础库
#### 工程目录说明
```
pkg/ ......源码包
|-- nazalog/ ......日志库
|-- bufferpool/ ......bytes.Buffer 内存池
|-- assert/ ......提供了单元测试时的断言功能,减少一些模板代码
|-- nazastring/ ......string 和 []byte 相关的操作
|-- bininfo/ ......将编译时的 git 版本号时间Go 编译器信息打入程序中
|-- bele/ ......提供了大小端的转换操作
|-- nazaatomic/ ......原子操作
|-- nazajson/ ......json 操作
|-- taskpool/ ......协程池
|-- connection/ ......对 net.Conn 接口的二次封装
|-- filebatch/ ......文件批处理操作
|-- unique/ ......对象唯一 ID
|-- mockserver/ ......模拟一些服务端,用于快速测试其它代码
|-- mockwriter/ ......模拟 Writer 接口,用于快速测试其它代码
demo/ ......示例相关的代码
bin/ ......可执行文件编译输出目录
pkg/ ......源码包
|-- nazalog/ ......日志库
|-- slicebytepool/ ......[]byte 内存池
|-- assert/ ......提供了单元测试时的断言功能,减少一些模板代码
|-- nazastring/ ......string 和 []byte 相关的操作
|-- bininfo/ ......将编译时的 git commit ID时间Go 编译器信息打入程序中
|-- bele/ ......提供了大小端的转换操作
|-- nazaatomic/ ......原子操作
|-- nazajson/ ......json 操作
|-- taskpool/ ......协程池
|-- connection/ ......对 net.Conn 接口的二次封装
|-- filebatch/ ......文件批处理操作
|-- unique/ ......对象唯一 ID
|-- mockserver/ ......模拟一些服务端,用于快速测试其它代码
|-- mockwriter/ ......模拟 Writer 接口,用于快速测试其它代码
demo/ ......示例相关的代码
bin/ ......可执行文件编译输出目录
```
#### 依赖

@ -26,8 +26,9 @@ LDFlags=" \
cd ${ROOT_DIR}/demo/add_blog_license && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/add_blog_license &&
cd ${ROOT_DIR}/demo/add_go_license && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/add_go_license &&
cd ${ROOT_DIR}/demo/taskpool && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/taskpool &&
cd ${ROOT_DIR}/demo/bufferpool && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/bufferpool &&
cd ${ROOT_DIR}/demo/samefile && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/samefile &&
cd ${ROOT_DIR}/demo/slicebytepool && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/slicebytepool &&
cd ${ROOT_DIR}/demo/myapp && go build -ldflags "$LDFlags" -o ${ROOT_DIR}/bin/myapp &&
ls -lrt ${ROOT_DIR}/bin &&
cd ${ROOT_DIR} && ./bin/myapp -v &&
echo 'build done.'

@ -0,0 +1,20 @@
package main
import (
"flag"
"fmt"
"os"
"github.com/q191201771/naza/pkg/bininfo"
)
func main() {
v := flag.Bool("v", false, "show bin info")
flag.Parse()
if *v {
_, _ = fmt.Fprint(os.Stderr, bininfo.StringifyMultiLine())
os.Exit(1)
}
fmt.Println("my app running...")
fmt.Println("bye...")
}

@ -6,7 +6,7 @@
//
// Author: Chef (191201771@qq.com)
// Package bininfo 将编译时的git版本号时间Go编译器信息打入程序中
// Package bininfo 将编译时的 git commit ID时间Go 编译器信息打入程序中
package bininfo
import (
@ -17,18 +17,22 @@ import (
// 编译时通过如下方式传入编译时信息
//
// #GitCommitID=`git log --pretty=format:'%h' -n 1`
// GitCommitLog=`git log --pretty=oneline -n 1`
// # 将 log 原始字符串中的单引号替换成双引号
// GitCommitLog=${GitCommitLog//\'/\"}
//
// GitStatus=`git status -s`
// BuildTime=`date +'%Y.%m.%d.%H%M%S'`
// BuildGoVersion=`go version`
//
// go build -ldflags " \
// -X 'github.com/q191201771/naza/pkg/bininfo.GitCommitLog=${GitCommitLog}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.GitStatus=${GitStatus}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.BuildTime=${BuildTime}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.BuildGoVersion=${BuildGoVersion}' \
// LDFlags=" \
// -X 'github.com/q191201771/naza/pkg/bininfo.GitCommitLog=${GitCommitLog}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.GitStatus=${GitStatus}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.BuildTime=${BuildTime}' \
// -X 'github.com/q191201771/naza/pkg/bininfo.BuildGoVersion=${BuildGoVersion}' \
// "
//
// go build -ldflags "$LDFlags"
var (
GitCommitLog = "unknown"

Loading…
Cancel
Save