11.DEFAULT_GOAL := build
22
3- .PHONY : clean build build.local build.linux build.osx build. docker build.docker-build.linux build.docker-build.osx
3+ .PHONY : clean build build.docker tag all
44
55BINARY ?= kafka-proxy
66SOURCES = $(shell find . -name '* .go' | grep -v /vendor/)
77VERSION ?= $(shell git describe --tags --always --dirty)
88GOPKGS = $(shell go list ./... | grep -v /vendor/)
99BUILD_FLAGS ?=
1010LDFLAGS ?= -X github.com/grepplabs/kafka-proxy/config.Version=$(VERSION ) -w -s
11- TAG ?= "v0.0.3"
11+ TAG ?= "v0.0.4"
12+ GOARCH ?= amd64
13+ GOOS ?= linux
1214
13- PLATFORM ?= $(shell uname -s)
14- ifeq ($(PLATFORM ) , Darwin)
15- BUILD_DOCKER_BUILD =build.docker-build.osx
16- else
17- BUILD_DOCKER_BUILD =build.docker-build.linux
18- endif
19-
20- default : build.local
15+ default : build
2116
2217test.race :
2318 GOCACHE=off go test -v -race ` go list ./...`
@@ -33,54 +28,20 @@ check:
3328 go vet $(GOPKGS )
3429
3530
36- build.local : build/$(BINARY )
37- build.linux : build/linux/$(BINARY )
38- build.osx : build/osx/$(BINARY )
39-
4031build : build/$(BINARY )
4132
4233build/$(BINARY ) : $(SOURCES )
43- CGO_ENABLED=0 go build -o build/$(BINARY ) $(BUILD_FLAGS ) -ldflags " $( LDFLAGS) " .
44-
45- build/linux/$(BINARY ) : $(SOURCES )
46- GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o build/linux/$(BINARY ) $(BUILD_FLAGS ) -ldflags " $( LDFLAGS) " .
47-
48- build/osx/$(BINARY ) : $(SOURCES )
49- GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o build/osx/$(BINARY ) $(BUILD_FLAGS ) -ldflags " $( LDFLAGS) " .
50-
51- build.docker-build : $(BUILD_DOCKER_BUILD )
52-
53- build.docker-build.linux :
54- set -e ; \
55- buildContainerName =${BINARY}-buildcontainer ;\
56- docker build -t $$buildContainerName --build-arg target=build.linux -f Dockerfile.build . ;\
57- buildContainer=$$(docker create $$buildContainerName ) ;\
58- echo "containerId: $$buildContainer" ;\
59- mkdir -p build ;\
60- docker cp $$buildContainer:/go/src/github.com/grepplabs/kafka-proxy/build/linux/${BINARY} build/${BINARY} ;\
61- docker rm $$buildContainer ;\
62- docker rmi $$buildContainerName ;\
63-
64- build.docker-build.osx :
65- set -e ; \
66- buildContainerName =${BINARY}-buildcontainer ;\
67- docker build -t $$buildContainerName --build-arg target=build.osx -f Dockerfile.build . ;\
68- buildContainer=$$(docker create $$buildContainerName ) ;\
69- echo "containerId: $$buildContainer" ;\
70- mkdir -p build ;\
71- docker cp $$buildContainer:/go/src/github.com/grepplabs/kafka-proxy/build/osx/${BINARY} build/${BINARY} ;\
72- docker rm $$buildContainer ;\
73- docker rmi $$buildContainerName ;\
34+ GOOS=$(GOOS ) GOARCH=$(GOARCH ) CGO_ENABLED=0 go build -o build/$(BINARY ) $(BUILD_FLAGS ) -ldflags " $( LDFLAGS) " .
35+
36+ docker.build :
37+ docker build --build-arg GOOS=$(GOOS ) --build-arg GOARCH=$(GOARCH ) -f Dockerfile.build .
7438
7539tag :
7640 git tag $(TAG )
7741
78- release : clean build.linux build.osx
42+ release : clean
7943 git push origin $(TAG )
80- github-release release -u grepplabs -r $(BINARY ) --tag $(TAG )
81- github-release upload -u grepplabs -r $(BINARY ) -t $(TAG ) -f build/linux/$(BINARY ) -n linux/amd64/$(BINARY )
82- github-release upload -u grepplabs -r $(BINARY ) -t $(TAG ) -f build/osx/$(BINARY ) -n darwin/amd64/$(BINARY )
83- github-release info -u grepplabs -r $(BINARY )
44+ curl -sL https://git.io/goreleaser | bash
8445
8546protoc.local-auth :
8647 protoc -I plugin/local-auth/proto/ plugin/local-auth/proto/auth.proto --go_out=plugins=grpc:plugin/local-auth/proto/
0 commit comments