diff --git a/Makefile b/Makefile index 548d0db..a5323a7 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,8 @@ BUILD_TIME = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ" | tr -d '\n') GO_VERSION = $(shell go version | awk {'print $$3'}) DOCKER_RELEASE_TAG = "sosedoff/pgweb:$(shell git describe --abbrev=0 --tags | sed 's/v//')" DOCKER_LATEST_TAG = "sosedoff/pgweb:latest" +LDFLAGS = -s -w +PKG = github.com/sosedoff/pgweb usage: @echo "" @@ -37,22 +39,21 @@ build: go build @echo "You can now execute ./pgweb" +release: LDFLAGS += -X $(PKG)/pkg/command.GitCommit=$(GIT_COMMIT) +release: LDFLAGS += -X $(PKG)/pkg/command.BuildTime=$(BUILD_TIME) +release: LDFLAGS += -X $(PKG)/pkg/command.GoVersion=$(GO_VERSION) release: @echo "Building binaries..." @gox \ -osarch "$(TARGETS)" \ - -ldflags "-s -w -X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME) -X github.com/sosedoff/pgweb/pkg/command.GoVersion=$(GO_VERSION)" \ + -ldflags "$(LDFLAGS)" \ -output "./bin/pgweb_{{.OS}}_{{.Arch}}" @echo "Building ARM binaries..." - GOOS=linux GOARCH=arm GOARM=5 go build \ - -ldflags "-s -w -X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME) -X github.com/sosedoff/pgweb/pkg/command.GoVersion=$(GO_VERSION)" \ - -o "./bin/pgweb_linux_arm_v5" + GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "$(LDFLAGS)" -o "./bin/pgweb_linux_arm_v5" @echo "Building ARM64 binaries..." - GOOS=linux GOARCH=arm64 GOARM=7 go build \ - -ldflags "-s -w -X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME) -X github.com/sosedoff/pgweb/pkg/command.GoVersion=$(GO_VERSION)" \ - -o "./bin/pgweb_linux_arm64_v7" + GOOS=linux GOARCH=arm64 GOARM=7 go build -ldflags "$(LDFLAGS)" -o "./bin/pgweb_linux_arm64_v7" @echo "\nPackaging binaries...\n" @./script/package.sh @@ -77,4 +78,4 @@ docker-release: docker-push: docker push $(DOCKER_RELEASE_TAG) - docker push $(DOCKER_LATEST_TAG) \ No newline at end of file + docker push $(DOCKER_LATEST_TAG) diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go index a8637f4..64d527f 100644 --- a/pkg/cli/cli.go +++ b/pkg/cli/cli.go @@ -161,12 +161,19 @@ func initOptions() { func printVersion() { chunks := []string{fmt.Sprintf("Pgweb v%s", command.Version)} + if command.GitCommit != "" { chunks = append(chunks, fmt.Sprintf("(git: %s)", command.GitCommit)) } + if command.GoVersion != "" { chunks = append(chunks, fmt.Sprintf("(go: %s)", command.GoVersion)) } + + if command.BuildTime != "" { + chunks = append(chunks, fmt.Sprintf("(build time: %s)", command.BuildTime)) + } + fmt.Println(strings.Join(chunks, " ")) }