1
1
.DEFAULT_GOAL := build
2
2
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
4
4
5
5
BINARY ?= kafka-proxy
6
6
SOURCES = $(shell find . -name '* .go' | grep -v /vendor/)
7
7
VERSION ?= $(shell git describe --tags --always --dirty)
8
8
GOPKGS = $(shell go list ./... | grep -v /vendor/)
9
9
BUILD_FLAGS ?=
10
10
LDFLAGS ?= -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
12
14
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
21
16
22
17
test.race :
23
18
GOCACHE=off go test -v -race ` go list ./...`
@@ -33,54 +28,20 @@ check:
33
28
go vet $(GOPKGS )
34
29
35
30
36
- build.local : build/$(BINARY )
37
- build.linux : build/linux/$(BINARY )
38
- build.osx : build/osx/$(BINARY )
39
-
40
31
build : build/$(BINARY )
41
32
42
33
build/$(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 .
74
38
75
39
tag :
76
40
git tag $(TAG )
77
41
78
- release : clean build.linux build.osx
42
+ release : clean
79
43
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
84
45
85
46
protoc.local-auth :
86
47
protoc -I plugin/local-auth/proto/ plugin/local-auth/proto/auth.proto --go_out=plugins=grpc:plugin/local-auth/proto/
0 commit comments