github.com/willyham/dosa@v2.3.1-0.20171024181418-1e446d37ee71+incompatible/Makefile (about) 1 SHELL := /bin/bash 2 PROJECT_ROOT := github.com/uber-go/dosa 3 4 SUPPORT_FILES := .build 5 include $(SUPPORT_FILES)/colors.mk 6 include $(SUPPORT_FILES)/deps.mk 7 include $(SUPPORT_FILES)/flags.mk 8 include $(SUPPORT_FILES)/verbosity.mk 9 10 .PHONY: all 11 all: lint test 12 .DEFAULT_GOAL := all 13 14 COVER_OUT := profile.coverprofile 15 16 # all .go files that don't exist in hidden directories 17 ALL_SRC := $(shell find . -name "*.go" | grep -v -e vendor \ 18 -e ".*/\..*" \ 19 -e ".*/_.*") 20 21 TEST_TIMEOUT := "-timeout=60s" 22 23 .PHONY: test 24 test: clean vendor 25 $(ECHO_V)go test $(RACE) $(TEST_TIMEOUT) $(PKGS) 26 $(ECHO_V)$(MAKE) $(COV_REPORT) 27 28 TEST_IGNORES = vendor .git 29 COVER_IGNORES = $(TEST_IGNORES) 30 31 comma := , 32 null := 33 space := $(null) # 34 OVERALLS_IGNORE = $(subst $(space),$(comma),$(strip $(COVER_IGNORES))) 35 36 ifeq ($(V),0) 37 _FILTER_OVERALLS = cat 38 else 39 _FILTER_OVERALLS = grep -v "^Processing:" 40 endif 41 42 COV_REPORT := overalls.coverprofile 43 44 $(COV_REPORT): $(PKG_FILES) $(ALL_SRC) 45 @$(call label,Running tests) 46 @echo 47 $(ECHO_V)$(OVERALLS) -project=$(PROJECT_ROOT) \ 48 -ignore "$(OVERALLS_IGNORE)" \ 49 -covermode=atomic \ 50 $(DEBUG_FLAG) -- \ 51 $(TEST_FLAGS) $(RACE) $(TEST_TIMEOUT) $(TEST_VERBOSITY_FLAG) | \ 52 grep -v "No Go Test files" | \ 53 $(_FILTER_OVERALLS) 54 $(ECHO_V)if [ -a $(COV_REPORT) ]; then \ 55 $(GOCOV) convert $@ | $(GOCOV) report ; \ 56 fi 57 58 COV_HTML := coverage.html 59 60 $(COV_HTML): $(COV_REPORT) 61 $(ECHO_V)$(GOCOV) convert $< | gocov-html > $@ 62 63 .PHONY: coveralls 64 coveralls: $(COV_REPORT) 65 $(ECHO_V)goveralls -service=travis-ci -coverprofile=$(COV_REPORT) 66 67 include $(SUPPORT_FILES)/lint.mk 68 69 .PHONY: gendoc 70 gendoc: 71 $(ECHO_V)find . \( \ 72 -path ./vendor -o \ 73 -path ./ccm -o \ 74 -path ./node_modules -o \ 75 -path ./.glide \ 76 \) -prune -o -name README.md -print | \ 77 xargs -I% md-to-godoc -input=% 78 79 .PHONY: clean 80 clean: 81 $(ECHO_V)rm -f $(COV_REPORT) $(COV_HTML) $(LINT_LOG) 82 $(ECHO_V)find $(subst /...,,$(PKGS)) -name $(COVER_OUT) -delete 83 84 .PHONY: vendor 85 vendor: 86 $(MAKE) deps 87 88 .PHONY: fmt 89 GOIMPORTS=goimports 90 fmt: 91 $(ECHO_V)gofmt -s -w $(ALL_SRC) 92 $(ECHO_V)if [ "$$TRAVIS" != "true" ]; then \ 93 $(GOIMPORTS) -w $(ALL_SRC) ; \ 94 fi 95 96 CLI_BUILD_VERSION ?= $(shell git describe --abbrev=0 --tags) 97 CLI_BUILD_TIMESTAMP ?= $(shell date -u '+%Y-%m-%d_%I:%M:%S%p') 98 CLI_BUILD_REF ?= $(shell git rev-parse --short HEAD) 99 CLI_LINKER_FLAGS="-X main.version=$(CLI_BUILD_VERSION) -X main.timestamp=$(CLI_BUILD_TIMESTAMP) -X main.githash=$(CLI_BUILD_REF)" 100 101 .PHONY: cli 102 cli: 103 $(ECHO_V)go build -ldflags $(CLI_LINKER_FLAGS) -o $$GOPATH/bin/dosa ./cmd/dosa 104 ifdef target 105 ifeq ($(target), Darwin) 106 $(ECHO_V)GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags $(CLI_LINKER_FLAGS) -o ./out/cli/darwin/dosa ./cmd/dosa 107 else ifeq ($(target), Linux) 108 $(ECHO_V)GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags $(CLI_LINKER_FLAGS) -o ./out/cli/linux/dosa ./cmd/dosa 109 endif 110 endif 111 112 mocks/client.go: client.go 113 mockgen -package mocks github.com/uber-go/dosa Client,AdminClient > ./mocks/client.go 114 115 mocks/connector.go: connector.go 116 mockgen -package mocks github.com/uber-go/dosa Connector > ./mocks/connector.go 117 118 .PHONY: mocks 119 mocks: mocks/client.go mocks/connector.go 120 python ./script/license-headers.py -t LICENSE.txt -d mocks