PREFIX=/usr/local VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) GOBUILD=go build -ldflags "-X main.Version=${VERSION}" all: gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse gitlab-zip-cat: $(shell find cmd/gitlab-zip-cat/ -name '*.go') ${GOBUILD} -o $@ ./cmd/$@ gitlab-zip-metadata: $(shell find cmd/gitlab-zip-metadata/ -name '*.go') ${GOBUILD} -o $@ ./cmd/$@ gitlab-workhorse: $(shell find . -name '*.go') ${GOBUILD} -o $@ install: gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata install gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata ${PREFIX}/bin/ .PHONY: test test: testdata/data/group/test.git clean-workhorse all go fmt ./... | awk '{ print } END { if (NR > 0) { print "Please run go fmt"; exit 1 } }' support/path go test ./... @echo SUCCESS coverage: testdata/data/group/test.git go test -cover -coverprofile=test.coverage go tool cover -html=test.coverage -o coverage.html rm -f test.coverage testdata/data/group/test.git: testdata/data git clone --bare https://gitlab.com/gitlab-org/gitlab-test.git $@ testdata/data: mkdir -p $@ .PHONY: clean clean: clean-workhorse rm -rf testdata/data testdata/scratch .PHONY: clean-workhorse clean-workhorse: rm -f gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata