2020-07-27 13:25:27 +00:00
|
|
|
GLAB_VERSION ?= $(shell git describe --tags 2>/dev/null || git rev-parse --short HEAD)
|
2020-07-29 05:08:02 +00:00
|
|
|
DATE_FMT = +%Y-%m-%d
|
|
|
|
ifdef SOURCE_DATE_EPOCH
|
|
|
|
BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)")
|
|
|
|
else
|
|
|
|
BUILD_DATE ?= $(shell date "$(DATE_FMT)")
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifndef CGO_CPPFLAGS
|
|
|
|
export CGO_CPPFLAGS := $(CPPFLAGS)
|
|
|
|
endif
|
|
|
|
ifndef CGO_CFLAGS
|
|
|
|
export CGO_CFLAGS := $(CFLAGS)
|
|
|
|
endif
|
|
|
|
ifndef CGO_LDFLAGS
|
|
|
|
export CGO_LDFLAGS := $(LDFLAGS)
|
|
|
|
endif
|
|
|
|
|
2020-08-10 15:05:03 +00:00
|
|
|
GO_LDFLAGS := -X main.build=$(BUILD_DATE) $(GO_LDFLAGS)
|
2020-09-02 11:04:56 +00:00
|
|
|
GO_LDFLAGS := $(GO_LDFLAGS) -X main.version=$(GLAB_VERSION)
|
2020-09-02 14:17:44 +00:00
|
|
|
GOURL ?= github.com/profclems/glab
|
2020-09-02 11:04:56 +00:00
|
|
|
BUILDLOC ?= ./bin/glab
|
2020-07-27 13:25:27 +00:00
|
|
|
|
|
|
|
build:
|
2020-09-29 05:55:34 +00:00
|
|
|
go build -trimpath -ldflags "$(GO_LDFLAGS) -X main.debugMode=false" -o $(BUILDLOC) $(GOURL)/cmd/glab
|
|
|
|
.PHONY: build
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
clean:
|
|
|
|
rm -rf ./bin ./.glab-cli ./test/testdata-* ./coverage.txt coverage-*
|
|
|
|
.PHONY: clean
|
|
|
|
|
|
|
|
.PHONY: install
|
2020-09-02 11:04:56 +00:00
|
|
|
install:
|
2020-09-29 05:55:34 +00:00
|
|
|
GO111MODULE=on go install -trimpath -ldflags "$(GO_LDFLAGS) -X main.debugMode=false" $(GOURL)/cmd/glab
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: run
|
2020-07-27 13:25:27 +00:00
|
|
|
run:
|
2020-09-29 05:55:34 +00:00
|
|
|
go run -trimpath -ldflags "$(GO_LDFLAGS) -X main.debugMode=true" ./cmd/glab $(run)
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: test
|
|
|
|
test: clean
|
2020-09-02 11:04:56 +00:00
|
|
|
bash -c "trap 'trap - SIGINT SIGTERM ERR; rm coverage-* 2>&1 > /dev/null; exit 1' SIGINT SIGTERM ERR; $(MAKE) internal-test"
|
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: internal-test
|
2020-09-02 11:04:56 +00:00
|
|
|
internal-test:
|
2020-11-15 05:26:04 +00:00
|
|
|
GO111MODULE=on go test -coverprofile=coverage-main.out -covermode=count -coverpkg ./... -run=$(run) $(GOURL)/cmd/glab $(GOURL)/commands/... $(GOURL)/internal/... $(GOURL)/pkg/...
|
2020-09-02 11:04:56 +00:00
|
|
|
go get -u github.com/wadey/gocovmerge
|
|
|
|
gocovmerge coverage-*.out > coverage.txt && rm coverage-*.out
|
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: rt
|
2020-07-29 05:08:02 +00:00
|
|
|
rt: #Test release
|
|
|
|
goreleaser --snapshot --skip-publish --rm-dist
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: rtdebug
|
2020-08-05 00:42:32 +00:00
|
|
|
rtdebug: #Test release
|
|
|
|
goreleaser --snapshot --skip-publish --rm-dist --debug
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: release
|
2020-07-29 05:08:02 +00:00
|
|
|
release:
|
2020-09-29 05:55:34 +00:00
|
|
|
goreleaser $(run)
|
2020-09-02 11:04:56 +00:00
|
|
|
|
2020-09-29 05:55:34 +00:00
|
|
|
.PHONY: gen-docs
|
2020-08-09 09:58:28 +00:00
|
|
|
gen-docs:
|
2020-08-08 17:14:55 +00:00
|
|
|
go run ./cmd/gen-docs/docs.go
|
2020-10-26 12:55:03 +00:00
|
|
|
#cp ./docs/glab.rst ./docs/index.rst
|