export GO111MODULE := on

build: bin/server

bin/server:
	CGO_ENABLED=0 go build -mod=vendor -v -o ./bin/server ./cmd/server

watch:
	modd

test: tidy
	GO111MODULE=off go clean -testcache
	go test -mod=vendor -v ./...

lint:
	@PATH=$(PATH):./bin/gometalinter gometalinter -e '.*/pkg/mod' -e ".*/go/src" --vendor $(LINT_ARGS) ./...

tidy:
	go mod tidy

vendor: tidy
	go mod vendor

install-devtools: vendor
	# Install modd
	GO111MODULE=off go get -u github.com/cortesi/modd/cmd/modd
	# Install Gometalinter
	bash misc/gometalinter/install.sh -b ./bin/gometalinter

clean:
	rm -rf ./bin
	go clean -i -x -r -modcache

doc:
	@echo "Open your browser to http://localhost:6060/pkg/forge.cadoles.com/Pyxis/orion/ to see the documentation"
	@godoc -http=:6060

.PHONY: test clean generate vendor install-devtools lint watch tidy doc