Files
2019-08-29 13:13:05 +02:00

73 lines
2.3 KiB
Makefile

# Go parameters
GOPATH=$(HOME)/go
GOBIN=$(HOME)/go/bin
GOCMD=go
GOGET=$(GOCMD) get
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOTEST=$(GOCMD) test
GOCOVER=$(GOCMD) tool cover
COBERTURA=$(GOBIN)/gocover-cobertura
GOLINT=$(GOBIN)/golint
GOVET=$(GOCMD) vet
# Project parameters
GONAME=kalorienmanager
GOFILE=cmd/kalorienmanager/main.go
#.PHONY: all deps clean clean-bin clean-doc
all: deps build
deps:
GOPATH=$(GOPATH) go get -u -v github.com/jstemmer/go-junit-report
GOPATH=$(GOPATH) go get -u -v github.com/tebeka/go2xunit
GOPATH=$(GOPATH) go get -u -v github.com/t-yuki/gocover-cobertura
GOPATH=$(GOPATH) go get -u -v github.com/spf13/cobra/cobra
GOPATH=$(GOPATH) go get -u -v github.com/inconshreveable/mousetrap
GOPATH=$(GOPATH) go get -u -v github.com/mitchellh/go-homedir
GOPATH=$(GOPATH) go get -u -v github.com/golang/protobuf/proto
GOPATH=$(GOPATH) go get -u -v github.com/gin-gonic/gin
GOPATH=$(GOPATH) go get -u -v github.com/gin-gonic/gin/binding
GOPATH=$(GOPATH) go get -u -v github.com/gin-gonic/gin/render
GOPATH=$(GOPATH) go get -u -v github.com/gin-contrib/sse
GOPATH=$(GOPATH) go get -u -v github.com/mattn/go-isatty
GOPATH=$(GOPATH) go get -u -v github.com/ugorji/go/codec
GOPATH=$(GOPATH) go get -u -v golang.org/x/crypto/bcrypt
GOPATH=$(GOPATH) go get -u -v golang.org/x/crypto/blowfish
GOPATH=$(GOPATH) go get -u -v gopkg.in/yaml.v2
GOPATH=$(GOPATH) go get -u -v gopkg.in/mgo.v2
GOPATH=$(GOPATH) go get -u -v gopkg.in/mgo.v2/bson
build: bin/$(GONAME)
bin/$(GONAME): $(GOFILE)
@echo "Building $(GOFILE) to ./bin"
@GOPATH=$(GOPATH) $(GOBUILD) -v -ldflags="-X main.version=$(shell git describe --always --long --dirty)" -o bin/$(GONAME) $(GOFILE)
install:
@echo using $(GOPATH)
GOPATH=$(GOPATH) $(GOCMD) install -v -ldflags="-X main.version=$(shell git describe --always --long --dirty)" ./...
test:
GOPATH=$(GOPATH) $(GOTEST) -v ./...
GOPATH=$(GOPATH) $(GOTEST) -coverprofile=cover.out ./...
GOPATH=$(GOPATH) $(GOCOVER) -html=cover.out -o coverage.html
GOPATH=$(GOPATH) $(COBERTURA) < cover.out > coverage.xml
GOPATH=$(GOPATH) $(GOLINT) ./...
GOPATH=$(GOPATH) $(GOVET) -v ./...
doc:
cd docs; ./gradlew build
clean: clean-doc clean-bin
clean-doc:
@echo "Cleaning Gradle build"
cd docs; ./gradlew clean
clean-bin:
@echo "Cleaning Go build"
rm -rf bin/