|
- # General
- WORKDIR = $(PWD)
-
- # Go parameters
- GOCMD = go
- GOTEST = $(GOCMD) test -v
-
- # Git config
- GIT_VERSION ?=
- GIT_DIST_PATH ?= $(PWD)/.git-dist
- GIT_REPOSITORY = http://github.com/git/git.git
-
- # Coverage
- COVERAGE_REPORT = coverage.txt
- COVERAGE_PROFILE = profile.out
- COVERAGE_MODE = atomic
-
- ifneq ($(origin CI), undefined)
- WORKDIR := $(GOPATH)/src/gopkg.in/src-d/go-git.v4
- endif
-
- build-git:
- @if [ -f $(GIT_DIST_PATH)/git ]; then \
- echo "nothing to do, using cache $(GIT_DIST_PATH)"; \
- else \
- git clone $(GIT_REPOSITORY) -b $(GIT_VERSION) --depth 1 --single-branch $(GIT_DIST_PATH); \
- cd $(GIT_DIST_PATH); \
- make configure; \
- ./configure; \
- make all; \
- fi
-
- test:
- @cd $(WORKDIR); \
- $(GOTEST) ./...
-
- test-coverage:
- @cd $(WORKDIR); \
- echo "" > $(COVERAGE_REPORT); \
- for dir in `find . -name "*.go" | grep -o '.*/' | sort | uniq`; do \
- $(GOTEST) $$dir -coverprofile=$(COVERAGE_PROFILE) -covermode=$(COVERAGE_MODE); \
- if [ $$? != 0 ]; then \
- exit 2; \
- fi; \
- if [ -f $(COVERAGE_PROFILE) ]; then \
- cat $(COVERAGE_PROFILE) >> $(COVERAGE_REPORT); \
- rm $(COVERAGE_PROFILE); \
- fi; \
- done; \
-
- clean:
- rm -rf $(GIT_DIST_PATH)
|