diff --git a/args/flag.go b/args/flag.go index ed38fbf506e8095e9c910373c6ea300ac86159f2..6b30cfd6613103fe5cc6d7c09ebe392e2d293bec 100644 --- a/args/flag.go +++ b/args/flag.go @@ -2,23 +2,38 @@ package args import ( "flag" + "fmt" "os" ) var ( - Help bool - ConfigPath string + showHelp bool + showVersion bool + ConfigPath string +) + +var ( + gitHash string + buildTime string + goVersion string ) func init() { - flag.BoolVar(&Help, "h", false, "Show Help") + flag.BoolVar(&showHelp, "h", false, "Show help") + flag.BoolVar(&showVersion, "v", false, "Show version") flag.StringVar(&ConfigPath, "c", os.Args[0]+".yaml", "Configure path") } -func Parse() { +func Parse() { flag.Parse() - if Help { + if showHelp { flag.Usage() os.Exit(0) } -} \ No newline at end of file + if showVersion { + fmt.Printf("Git Commit Hash: %s \n", gitHash) + fmt.Printf("Build TimeStamp: %s \n", buildTime) + fmt.Printf("GoLang Version: %s \n", goVersion) + os.Exit(0) + } +} diff --git a/build.sh b/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..776850fdf193118aabae89b81c9d517240e88c6b --- /dev/null +++ b/build.sh @@ -0,0 +1,17 @@ +# 把前端转化成go +# go get -u github.com/UnnoTed/fileb0x +# fileb0x b0x.yaml + +# 整体编译 +go env -w GOPROXY=https://goproxy.cn,direct +go env -w GOPRIVATE=*.gitlab.com,*.gitee.com +go env -w GOSUMDB=off + + +export GOOS=linux +#go build -o MyDTU main.go +go build -ldflags "-X 'args.goVersion=$(go version)' -X 'args.gitHash=$(git show -s --format=%H)' -X 'args.buildTime=$(git show -s --format=%cd)'" -o mydtu main.go + +export GOOS=windows +#go build -o MyDTU.exe main.go +go build -ldflags "-X 'args.goVersion=$(go version)' -X 'args.gitHash=$(git show -s --format=%H)' -X 'args.buildTime=$(git show -s --format=%cd)'" -o mydtu.exe main.go