6
0
mirror of https://git.mills.io/prologic/msgbus.git synced 2024-06-16 03:49:03 +00:00
prologic-msgbus/Makefile

92 lines
2.2 KiB
Makefile
Raw Normal View History

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)" \
./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:
@CGO_ENABLED=1 $(GOCMD) test -d -v -cover -race -timeout 30s ./...
2022-03-19 22:04:05 +00:00
coverage:
@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:
@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