mirror of
https://github.com/go-sylixos/elvish.git
synced 2024-12-13 01:47:51 +08:00
ea9fe4876b
The condition is guarded in .travis.yml now, so we don't need the explicit output of whether coverage is being sent.
62 lines
1.9 KiB
Makefile
62 lines
1.9 KiB
Makefile
PKG_BASE := github.com/elves/elvish
|
|
PKGS := $(shell go list ./... | sed 's|^$(PKG_BASE)|.|' | grep -v '^./\(vendor\|website\)')
|
|
PKG_COVERS := $(shell go list ./... | sed 's|^$(PKG_BASE)|.|' | grep -v '^\./\(vendor\|website\)' | grep -v '^\.$$' | sed 's/^\./_cover/' | sed 's/$$/.cover/')
|
|
COVER_MODE := set
|
|
VERSION := $(shell git describe --tags --always --dirty=-dirty)
|
|
|
|
GOVERALLS := github.com/mattn/goveralls
|
|
|
|
default: test get
|
|
|
|
get:
|
|
go get -ldflags "-X github.com/elves/elvish/buildinfo.Version=$(VERSION) \
|
|
-X github.com/elves/elvish/buildinfo.GoRoot=$(shell go env GOROOT) \
|
|
-X github.com/elves/elvish/buildinfo.GoPath=$(shell go env GOPATH)" .
|
|
|
|
buildall:
|
|
./_tools/buildall.sh
|
|
|
|
generate:
|
|
go generate ./...
|
|
|
|
test:
|
|
go test $(PKGS)
|
|
|
|
testmain:
|
|
go test .
|
|
|
|
_cover/%.cover: %
|
|
mkdir -p $(dir $@)
|
|
go test -coverprofile=$@ -covermode=$(COVER_MODE) ./$<
|
|
|
|
_cover/all: $(PKG_COVERS)
|
|
echo mode: $(COVER_MODE) > $@
|
|
for f in $(PKG_COVERS); do test -f $$f && sed 1d $$f >> $@ || true; done
|
|
|
|
upload-codecov-travis: _cover/all
|
|
curl -s https://codecov.io/bash -o codecov.bash \
|
|
&& bash codecov.bash -f $<
|
|
|
|
upload-coveralls-travis: _cover/all
|
|
go get -d $(GOVERALLS) \
|
|
&& go build -o goveralls $(GOVERALLS) \
|
|
&& ./goveralls -coverprofile $< -service=travis-ci
|
|
|
|
# Disable coverage reports for pull requests. The general testability of the
|
|
# code is pretty bad and it is premature to require contributors to maintain
|
|
# code coverage.
|
|
|
|
upload-codecov-appveyor: _cover/all
|
|
codecov -f $<
|
|
|
|
upload-coveralls-appveyor: _cover/all
|
|
goveralls -coverprofile $< -service=appveyor-ci
|
|
|
|
binaries-travis:
|
|
./_tools/binaries-travis.sh
|
|
|
|
coverage-travis: upload-codecov-travis upload-coveralls-travis
|
|
coverage-appveyor: upload-codecov-appveyor upload-coveralls-appveyor
|
|
|
|
.PHONY: default get buildall generate test testmain upload-codecov-travis upload-coveralls-travis upload-codecov-appveyor upload-coveralls-appveyor coverage-travis coverage-appveyor binaries-travis
|