print version (#13)
Reviewed-on: #13 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
VERSION ?= $(shell git describe --tags 2>/dev/null || echo "dev")
|
||||
COMMIT ?= $(shell git rev-parse --short HEAD)
|
||||
BUILD_TIME ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||
GO_VERSION ?= $(shell go version | awk '{print $$3}')
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
go build -ldflags="\
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.Version=$(VERSION)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.BuildTime=$(BUILD_TIME)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.Commit=$(COMMIT)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.GoVersion=$(GO_VERSION)'" \
|
||||
-o clean_file main.go
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
go install -ldflags="\
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.Version=$(VERSION)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.BuildTime=$(BUILD_TIME)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.Commit=$(COMMIT)' \
|
||||
-X 'git.kundeng.us/phoenix/clean_file/version.GoVersion=$(GO_VERSION)'"
|
||||
@@ -2,12 +2,7 @@ CLI software that processes a text file containing US phone numbers
|
||||
and sanitizes the numbers. The result is contained in a json file.
|
||||
|
||||
## Building
|
||||
```
|
||||
go build
|
||||
```
|
||||
|
||||
|
||||
To include version information
|
||||
```
|
||||
go build -ldflags "-X main.version=3.0.101 -X main.commit=$(git rev-parse HEAD) -X main.date=$(date +%Y-%m-%dT%H:%M:%S%z)" -o clean_file
|
||||
make build
|
||||
```
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package main
|
||||
|
||||
import "flag"
|
||||
import "fmt"
|
||||
import "os"
|
||||
|
||||
import "git.kundeng.us/phoenix/clean_file/parser"
|
||||
import "git.kundeng.us/phoenix/clean_file/version"
|
||||
|
||||
func main() {
|
||||
fmt.Println("clean_file")
|
||||
args := os.Args
|
||||
|
||||
if len(args) < 2 {
|
||||
@@ -13,6 +15,15 @@ func main() {
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
versionFlag := flag.Bool("version", false, "Print version information")
|
||||
flag.Parse()
|
||||
|
||||
if *versionFlag {
|
||||
fmt.Println(version.String())
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("clean_file")
|
||||
filepath := args[1]
|
||||
|
||||
fmt.Println("File path:", filepath)
|
||||
|
||||
+13
-3
@@ -1,7 +1,17 @@
|
||||
package version
|
||||
|
||||
import "fmt"
|
||||
|
||||
var (
|
||||
Version = "dev"
|
||||
Commit = "none"
|
||||
Date = "unknown"
|
||||
Version = "dev"
|
||||
BuildTime = "unknown"
|
||||
Commit = "unknown"
|
||||
GoVersion = "unknown"
|
||||
)
|
||||
|
||||
func String() string {
|
||||
return fmt.Sprintf(
|
||||
"Version: %s\nBuild Date: %s\nCommit: %s\nGo Version: %s",
|
||||
Version, BuildTime, Commit, GoVersion,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user