diff --git a/Makefile b/Makefile index 47f4396..b5952c8 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +.PHONY: default init build install release dep get_deps clean build_amd64 build_386 upx + # https://golang.org/doc/install/source#environment GOOS := $(shell go env | awk -F= '$$1=="GOOS" {print $$2}' | awk -F '"' '{print $$2}') # 此处 awk 需使用两个 $ GOARCH := $(shell go env | awk -F= '$$1=="GOARCH" {print $$2}' | awk -F '"' '{print $$2}') @@ -7,7 +9,13 @@ PKG = # GOARCH := $(strip $(GOARCH)).exe # endif -.PHONY: build +default: + @echo "JWT info: please choose a target for 'make'" + @echo "available target: init build install release dep get_deps clean build_amd64 build_386 upx" + +init: get-deps dep clean + go install -ldflags "-s -w" + build: @ go build -ldflags "-s -w" -o dist/jwt_$(strip $(GOOS))_$(strip $(if \ $(findstring windows,$(GOOS)),\ @@ -15,25 +23,33 @@ build: $(strip $(GOARCH))\ )) -.PHONY: amd64 -amd64: +install: + go install -ldflags "-s -w" + +release: amd64 386 + +dep: + dep ensure + +get_deps: + go get -u github.com/golang/dep/cmd/dep + +clean: + go clean -i + rm -rf dist/jwt* jbls + +build_amd64: @ $(foreach OS,\ $(OSS),\ $(shell CGO_ENABLED=0 GOOS=$(OS) GOARCH=amd64 go build -ldflags "-s -w" -o dist/jwt_$(OS)_amd64$(if $(findstring windows,$(OS)),.exe))) @ echo done -.PHONY: 386 -386: +build_386: @ $(foreach OS,\ $(OSS),\ $(shell CGO_ENABLED=0 GOOS=$(OS) GOARCH=386 go build -ldflags "-s -w" -o dist/jwt_$(OS)_386$(if $(findstring windows,$(OS)),.exe))) @ echo done -.PHONY: clean -clean: - @ rm -rf dist/jwt* jbls - # 压缩。需要安装 https://github.com/upx/upx -.PHONY: upx upx: - @ upx $(if $(PKG),$(PKG),dist/jwt*) \ No newline at end of file + upx $(if $(PKG),$(PKG),dist/jwt*) \ No newline at end of file diff --git a/test/demo.json b/test/demo.json index da3d236..853c5cb 100644 --- a/test/demo.json +++ b/test/demo.json @@ -1,6 +1,5 @@ { - "foo": "bar", - "exp": "2108-02-03", - "info": "jjjkk", - "other": "靠捡垃圾困了就睡打发士大夫斯柯达房间爱劳动法" + "ceres.enncloud.cn/app.id": "SunAR6mmR", + "ceres.enncloud.cn/namespace": "g-ceres", + "sub": "ceres.enncloud.cn:app:SunAR6mmR" } \ No newline at end of file diff --git a/token/token.go b/token/token.go index 2aab6a6..b41a3b6 100644 --- a/token/token.go +++ b/token/token.go @@ -25,7 +25,6 @@ import ( "fmt" "io" "io/ioutil" - "log" "os" "path/filepath" "strings" @@ -65,12 +64,7 @@ func loadData(p string) ([]byte, error) { } func isPath(path string) (bool, string) { - p, err := filepath.Abs("") - if err != nil { - log.Fatal(err) - } - - absPath := filepath.Join(p, strings.Replace(path, p, "", 1)) + absPath, err := filepath.Abs(path) _, err = os.Stat(absPath) if err == nil { return true, absPath