2022-03-19 22:04:05 +00:00
|
|
|
-include environ.inc
|
|
|
|
.PHONY: deps dev build install image release test clean tr tr-merge
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
export CGO_ENABLED=0
|
|
|
|
VERSION=$(shell git describe --abbrev=0 --tags 2>/dev/null || echo "$VERSION")
|
|
|
|
COMMIT=$(shell git rev-parse --short HEAD || echo "$COMMIT")
|
|
|
|
BRANCH=$(shell git rev-parse --abbrev-ref HEAD)
|
|
|
|
GOCMD=go
|
|
|
|
GOVER=$(shell go version | grep -o -E 'go1\.17\.[0-9]+')
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-16 11:59:36 +00:00
|
|
|
DESTDIR=/usr/local/bin
|
|
|
|
|
2022-03-20 16:29:11 +00:00
|
|
|
ifeq ($(BRANCH), master)
|
2022-03-19 22:04:05 +00:00
|
|
|
IMAGE := prologic/msgbus
|
|
|
|
TAG := latest
|
|
|
|
else
|
|
|
|
IMAGE := prologic/msgbus
|
|
|
|
TAG := dev
|
|
|
|
endif
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
all: preflight build
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
preflight:
|
|
|
|
@./preflight.sh
|
2018-03-25 21:37:32 +00:00
|
|
|
|
|
|
|
deps:
|
2022-03-19 22:04:05 +00:00
|
|
|
|
|
|
|
dev : DEBUG=1
|
|
|
|
dev : build
|
|
|
|
@./msgbus -v
|
|
|
|
@./msgbusd -v
|
|
|
|
|
|
|
|
cli:
|
2022-03-20 14:29:02 +00:00
|
|
|
@$(GOCMD) build $(FLAGS) -tags "netgo static_build" -installsuffix netgo \
|
2022-03-19 22:04:05 +00:00
|
|
|
-ldflags "-w \
|
|
|
|
-X $(shell go list).Version=$(VERSION) \
|
|
|
|
-X $(shell go list).Commit=$(COMMIT)" \
|
2022-04-02 14:05:15 +00:00
|
|
|
./cmd/msgbus/...
|
2022-03-19 22:04:05 +00:00
|
|
|
|
|
|
|
server: generate
|
|
|
|
@$(GOCMD) build $(FLAGS) -tags "netgo static_build" -installsuffix netgo \
|
|
|
|
-ldflags "-w \
|
|
|
|
-X $(shell go list).Version=$(VERSION) \
|
|
|
|
-X $(shell go list).Commit=$(COMMIT)" \
|
|
|
|
./cmd/msgbusd/...
|
|
|
|
|
|
|
|
build: cli server
|
|
|
|
|
|
|
|
generate:
|
|
|
|
@if [ x"$(DEBUG)" = x"1" ]; then \
|
|
|
|
echo 'Running in debug mode...'; \
|
|
|
|
fi
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-16 11:59:36 +00:00
|
|
|
install: build
|
2022-03-19 22:04:05 +00:00
|
|
|
@install -D -m 755 msgbusd $(DESTDIR)/msgbusd
|
|
|
|
@install -D -m 755 msgbus $(DESTDIR)/msgbus
|
2022-03-16 11:59:36 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
ifeq ($(PUBLISH), 1)
|
|
|
|
image: generate
|
|
|
|
@docker build --build-arg VERSION="$(VERSION)" --build-arg COMMIT="$(COMMIT)" -t $(IMAGE):$(TAG) .
|
|
|
|
@docker push $(IMAGE):$(TAG)
|
|
|
|
else
|
|
|
|
image: generate
|
|
|
|
@docker build --build-arg VERSION="$(VERSION)" --build-arg COMMIT="$(COMMIT)" -t $(IMAGE):$(TAG) .
|
|
|
|
endif
|
2018-03-25 21:37:32 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
release: generate
|
|
|
|
@./tools/release.sh
|
2018-05-14 09:31:49 +00:00
|
|
|
|
2022-03-19 22:04:05 +00:00
|
|
|
fmt:
|
|
|
|
@$(GOCMD) fmt ./...
|
2018-04-07 06:34:28 +00:00
|
|
|
|
2018-03-25 21:37:32 +00:00
|
|
|
test:
|
2022-04-04 01:15:49 +00:00
|
|
|
@CGO_ENABLED=1 $(GOCMD) test -d -v -cover -race -timeout 30s ./...
|
2022-03-19 22:04:05 +00:00
|
|
|
|
|
|
|
coverage:
|
2022-04-04 01:15:49 +00:00
|
|
|
@CGO_ENABLED=1 $(GOCMD) test -d -v -cover -race -timeout 30s -cover -coverprofile=coverage.out ./...
|
2022-03-19 22:04:05 +00:00
|
|
|
@$(GOCMD) tool cover -html=coverage.out
|
|
|
|
|
2022-03-20 16:12:31 +00:00
|
|
|
bench:
|
2022-04-04 01:15:49 +00:00
|
|
|
@CGO_ENABLED=1 $(GOCMD) test -d -v -cover -race -timeout 30s -cover -coverprofile=coverage.out ./...
|
2022-03-20 16:12:31 +00:00
|
|
|
@CGO_ENABLED=1 $(GOCMD) test -race -benchtime=1x -cpu 16 -benchmem -bench "^(Benchmark)" .
|
2018-03-25 21:37:32 +00:00
|
|
|
|
|
|
|
clean:
|
2018-12-31 08:09:14 +00:00
|
|
|
@git clean -f -d -X
|
2022-03-19 22:04:05 +00:00
|
|
|
|
|
|
|
tr:
|
|
|
|
@goi18n merge -outdir ./internal/langs ./internal/langs/active.*.toml
|
|
|
|
|
|
|
|
tr-merge:
|
|
|
|
@goi18n merge -outdir ./internal/langs ./internal/langs/active.*.toml ./internal/langs/translate.*.toml
|