0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-16 21:56:37 -05:00
zot/Makefile.bazel
2019-06-26 13:39:49 -07:00

59 lines
1.2 KiB
Text

OS := $(shell uname -s | tr A-Z a-z)
BINARY_PREFIX_DIRECTORY := $(OS)_amd64_stripped
BAZEL=$(HOME)/bin/bazel
.PHONY: all
all: build check
.PHONY: info
.SILENT: info
info:
${BAZEL} build @io_bazel_rules_go//:go_info
cat bazel-bin/external/io_bazel_rules_go/linux_amd64_stripped/go_info%/go_info_report
.PHONY: setup-base
setup-base:
swag -v || go get -u github.com/swaggo/swag/cmd/swag
swag init -g pkg/api/routes.go
.PHONY: fmt-bazel
fmt-bazel:
${BAZEL} run //:buildozer
${BAZEL} run //:buildifier
.PHONY: update-bazel
update-bazel:
${BAZEL} run //:gazelle
${BAZEL} run //:gazelle -- update-repos -from_file=go.mod
.PHONY: init
init: setup-base update-bazel fmt-bazel
.PHONY: build
build:
${BAZEL} build //...
${BAZEL} test //...
.PHONY: check
check:
${BAZEL} run //:golangcilint
.PHONY: bench
.SILENT: bench
bench:
for i in $$(${BAZEL} query 'tests(//...)'); do \
${BAZEL} run $$i -- -test.bench=.; \
done
.PHONY: coverage
.SILENT: coverage
coverage:
${BAZEL} coverage //...
for c in $$(find ./bazel-out/ -name 'coverage.dat'); do \
go tool cover --html=$$c -o /tmp/cover.html; \
cat /tmp/cover.html | grep 'option value="file' | sed 's/<[^>]*>//g' | sed 's/^[ \t]*//'; \
done
.PHONY: clean
clean:
${BAZEL} clean