Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
52 lines
1.1 KiB
# 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)
|