PROJECT_NAME := minecraft-ui

.PHONY: help
help:
	@echo "------------------------------------------------------------------------"
	@echo "${PROJECT_NAME}"
	@echo "------------------------------------------------------------------------"
	@grep -E '^[a-zA-Z0-9_/%\-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

.PHONY: build
build: ## build application binaries
	go build -race ./cmd/minecraft-ui

.PHONY: deps
deps: ## install latest build of dependency manager and linters
	go get -u github.com/golang/dep/cmd/dep
	go get -u github.com/alecthomas/gometalinter
	gometalinter --install --update

.PHONY: deps-ensure
deps-ensure: ## ensure dependencies are safely vendored in the project
	dep ensure

.PHONY: install
install: ## install application binaries
	go install ./cmd/minecraft-ui

.PHONY: test
test: ## run unit tests
	go test -v -race ./cmd/... ./internal/...
