influxdb/query/Makefile

67 lines
1.9 KiB
Makefile

VERSION ?= $(shell git describe --always --tags)
SUBDIRS := ast parser promql
GO_ARGS=-tags '$(GO_TAGS)'
export GO_BUILD=go build $(GO_ARGS)
export GO_TEST=go test $(GO_ARGS)
export GO_GENERATE=go generate $(GO_ARGS)
SOURCES := $(shell find . -name '*.go' -not -name '*_test.go')
SOURCES_NO_VENDOR := $(shell find . -path ./vendor -prune -o -name "*.go" -not -name '*_test.go' -print)
all: Gopkg.lock $(SUBDIRS) bin/platform/query bin/ifqld
$(SUBDIRS): bin/pigeon bin/cmpgen
$(MAKE) -C $@ $(MAKECMDGOALS)
bin/platform/query: $(SOURCES) bin/pigeon bin/cmpgen
$(GO_BUILD) -i -o bin/platform/query ./cmd/ifql
bin/platform/queryd: $(SOURCES) bin/pigeon bin/cmpgen
$(GO_BUILD) -i -o bin/platform/queryd ./cmd/ifqld
bin/pigeon: ./vendor/github.com/mna/pigeon/main.go
go build -i -o bin/pigeon ./vendor/github.com/mna/pigeon
bin/cmpgen: ./ast/asttest/cmpgen/main.go
go build -i -o bin/cmpgen ./ast/asttest/cmpgen
Gopkg.lock: Gopkg.toml
dep ensure -v
vendor/github.com/mna/pigeon/main.go: Gopkg.lock
dep ensure -v
fmt: $(SOURCES_NO_VENDOR)
goimports -w $^
update:
dep ensure -v -update
test: Gopkg.lock bin/platform/query
$(GO_TEST) ./...
test-race: Gopkg.lock bin/platform/query
$(GO_TEST) -race ./...
bench: Gopkg.lock bin/platform/query
$(GO_TEST) -bench=. -run=^$$ ./...
bin/goreleaser:
go build -i -o bin/goreleaser ./vendor/github.com/goreleaser/goreleaser
dist: bin/goreleaser
PATH=./bin:${PATH} goreleaser --rm-dist --release-notes CHANGELOG.md
release: dist release-docker
release-docker:
docker build -t quay.io/influxdb/platform/queryd:latest .
docker tag quay.io/influxdb/platform/queryd:latest quay.io/influxdb/ifqld:${VERSION}
docker push quay.io/influxdb/platform/queryd:latest
docker push quay.io/influxdb/platform/queryd:${VERSION}
clean: $(SUBDIRS)
rm -rf bin dist
.PHONY: all clean $(SUBDIRS) update test test-race bench release docker dist fmt