61 lines
1.3 KiB
Makefile
61 lines
1.3 KiB
Makefile
|
.PHONY: \
|
||
|
all \
|
||
|
vendor \
|
||
|
lint \
|
||
|
vet \
|
||
|
fmt \
|
||
|
fmtcheck \
|
||
|
pretest \
|
||
|
test \
|
||
|
integration \
|
||
|
cov \
|
||
|
clean
|
||
|
|
||
|
SRCS = $(shell git ls-files '*.go' | grep -v '^external/')
|
||
|
PKGS = ./. ./testing
|
||
|
|
||
|
all: test
|
||
|
|
||
|
vendor:
|
||
|
@ go get -v github.com/mjibson/party
|
||
|
party -d external -c -u
|
||
|
|
||
|
lint:
|
||
|
@ go get -v github.com/golang/lint/golint
|
||
|
$(foreach file,$(SRCS),golint $(file) || exit;)
|
||
|
|
||
|
vet:
|
||
|
@-go get -v golang.org/x/tools/cmd/vet
|
||
|
$(foreach pkg,$(PKGS),go vet $(pkg);)
|
||
|
|
||
|
fmt:
|
||
|
gofmt -w $(SRCS)
|
||
|
|
||
|
fmtcheck:
|
||
|
$(foreach file,$(SRCS),gofmt -d $(file);)
|
||
|
|
||
|
prepare_docker:
|
||
|
sudo stop docker
|
||
|
sudo rm -rf /var/lib/docker
|
||
|
sudo rm -f `which docker`
|
||
|
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
|
||
|
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
|
||
|
sudo apt-get update
|
||
|
sudo apt-get install docker-engine=$(DOCKER_VERSION)-0~$(shell lsb_release -cs) -y --force-yes
|
||
|
|
||
|
pretest: lint vet fmtcheck
|
||
|
|
||
|
test: pretest
|
||
|
$(foreach pkg,$(PKGS),go test $(pkg) || exit;)
|
||
|
|
||
|
integration:
|
||
|
go test -tags docker_integration -run TestIntegration -v
|
||
|
|
||
|
cov:
|
||
|
@ go get -v github.com/axw/gocov/gocov
|
||
|
@ go get golang.org/x/tools/cmd/cover
|
||
|
gocov test | gocov report
|
||
|
|
||
|
clean:
|
||
|
$(foreach pkg,$(PKGS),go clean $(pkg) || exit;)
|