mirror of
https://github.com/status-im/migrate.git
synced 2025-02-23 08:18:07 +00:00
76 lines
2.3 KiB
Makefile
76 lines
2.3 KiB
Makefile
SOURCE ?= file go-bindata github
|
|
DATABASE ?= postgres
|
|
VERSION ?= $(shell git describe --tags 2>/dev/null)
|
|
TEST_FLAGS ?=
|
|
|
|
|
|
build-cli: clean
|
|
-mkdir ./cli/build
|
|
cd ./cli && GOOS=linux GOARCH=amd64 go build -a -o build/migrate.linux-amd64 -ldflags='-X main.Version=$(VERSION)' -tags '$(DATABASE) $(SOURCE)' .
|
|
cd ./cli && GOOS=darwin GOARCH=amd64 go build -a -o build/migrate.darwin-amd64 -ldflags='-X main.Version=$(VERSION)' -tags '$(DATABASE) $(SOURCE)' .
|
|
cd ./cli && GOOS=windows GOARCH=amd64 go build -a -o build/migrate.windows-amd64.exe -ldflags='-X main.Version=$(VERSION)' -tags '$(DATABASE) $(SOURCE)' .
|
|
cd ./cli/build && find . -name 'migrate*' | xargs -I{} tar czf {}.tar.gz {}
|
|
cd ./cli/build && shasum -a 256 * > sha256sum.txt
|
|
cat ./cli/build/sha256sum.txt
|
|
|
|
|
|
clean:
|
|
-rm -r ./cli/build
|
|
|
|
|
|
test-short:
|
|
make test-with-flags --ignore-errors TEST_FLAGS='-short'
|
|
|
|
|
|
test:
|
|
@-rm -r .coverage
|
|
@mkdir .coverage
|
|
make test-with-flags TEST_FLAGS='-v -race -covermode atomic -coverprofile .coverage/_$$(RAND).txt -bench=. -benchmem'
|
|
@echo 'mode: atomic' > .coverage/combined.txt
|
|
@cat .coverage/*.txt | grep -v 'mode: atomic' >> .coverage/combined.txt
|
|
|
|
|
|
test-with-flags:
|
|
@echo SOURCE: $(SOURCE)
|
|
@echo DATABASE: $(DATABASE)
|
|
|
|
@go test $(TEST_FLAGS) .
|
|
@go test $(TEST_FLAGS) ./cli/...
|
|
@go test $(TEST_FLAGS) ./testing/...
|
|
|
|
@echo -n '$(SOURCE)' | tr -s ' ' '\n' | xargs -I{} go test $(TEST_FLAGS) ./source/{}
|
|
@go test $(TEST_FLAGS) ./source/testing
|
|
@go test $(TEST_FLAGS) ./source/stub
|
|
|
|
@echo -n '$(DATABASE)' | tr -s ' ' '\n' | xargs -I{} go test $(TEST_FLAGS) ./database/{}
|
|
@go test $(TEST_FLAGS) ./database/testing
|
|
@go test $(TEST_FLAGS) ./database/stub
|
|
|
|
# deprecated v1compat:
|
|
@go test ./migrate/...
|
|
|
|
|
|
html-coverage:
|
|
go tool cover -html=.coverage/combined.txt
|
|
|
|
|
|
deps:
|
|
-go get -v -u ./...
|
|
-go test -v -i ./...
|
|
|
|
|
|
restore-import-paths:
|
|
find . -name '*.go' -type f -execdir sed -i '' s#\"github.com/$(shell cd .. && basename "$$(pwd)")/migrate#\"github.com/mattes/migrate#g '{}' \;
|
|
|
|
|
|
rewrite-import-paths:
|
|
find . -name '*.go' -type f -execdir sed -i '' s#\"github.com/mattes/migrate#\"github.com/$(shell cd .. && basename "$$(pwd)")/migrate#g '{}' \;
|
|
|
|
|
|
.PHONY: build-cli clean test-short test test-with-flags deps html-coverage \
|
|
restore-import-paths rewrite-import-paths
|
|
|
|
SHELL = /bin/bash
|
|
RAND = $(shell echo $$RANDOM)
|
|
|