2017-07-29 14:11:50 +00:00
|
|
|
GOOS=linux
|
|
|
|
GOARCH=amd64
|
|
|
|
COMMIT=`git rev-parse --short HEAD`
|
|
|
|
APP=element
|
|
|
|
REPO?=ehazlett/$(APP)
|
|
|
|
TAG?=latest
|
|
|
|
BUILD?=-dev
|
|
|
|
PACKAGES=$(shell go list ./... | grep -v /vendor/)
|
|
|
|
|
|
|
|
all: image
|
|
|
|
|
|
|
|
build: build-static
|
|
|
|
|
|
|
|
generate:
|
|
|
|
@echo ${PACKAGES} | xargs protobuild
|
|
|
|
|
2017-08-14 12:39:37 +00:00
|
|
|
docker-generate:
|
|
|
|
@echo "** This uses a separate Dockerfile (Dockerfile.build) **"
|
|
|
|
@docker build -t element-dev -f Dockerfile.build .
|
|
|
|
@docker run -ti --rm -v $(PWD):/go/src/github.com/ehazlett/element element-dev ash -c "echo ${PACKAGES} | xargs /go/bin/protobuild"
|
|
|
|
|
2017-07-29 14:11:50 +00:00
|
|
|
build-app:
|
|
|
|
@echo " -> Building $(TAG)$(BUILD)"
|
|
|
|
@cd cmd/$(APP) && go build -v -ldflags "-w -X github.com/$(REPO)/version.GitCommit=$(COMMIT) -X github.com/$(REPO)/version.Build=$(BUILD)" .
|
|
|
|
@echo "Built $$(./cmd/$(APP)/$(APP) -v)"
|
|
|
|
|
|
|
|
build-static:
|
|
|
|
@echo " -> Building $(TAG)$(BUILD)"
|
|
|
|
@cd cmd/$(APP) && go build -v -a -tags "netgo static_build" -installsuffix netgo -ldflags "-w -X github.com/$(REPO)/version.GitCommit=$(COMMIT) -X github.com/$(REPO)/version.Build=$(BUILD)" .
|
|
|
|
@echo "Built $$(./cmd/$(APP)/$(APP) -v)"
|
|
|
|
|
|
|
|
image:
|
|
|
|
@docker build --build-arg TAG=$(TAG) --build-arg BUILD=$(BUILD) -t $(REPO):$(TAG) .
|
|
|
|
@echo "Image created: $(REPO):$(TAG)"
|
|
|
|
|
|
|
|
integration: image
|
|
|
|
# TODO
|
|
|
|
|
|
|
|
test-integration:
|
|
|
|
@go test -v $(TEST_ARGS) ./test/integration/...
|
|
|
|
|
|
|
|
check:
|
|
|
|
@go vet -v ${PACKAGES}
|
|
|
|
@golint ${PACKAGES}
|
|
|
|
|
|
|
|
test:
|
|
|
|
@go test -v -cover -race $(TEST_ARGS) $$(glide novendor | grep -v ./test)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
@rm cmd/$(APP)/$(APP)
|
|
|
|
|
|
|
|
.PHONY: deps build build-static build-app build-image generate image clean test
|