Skip to content

Commit b82f170

Browse files
authored
Improve Makefile (#34)
1 parent b00b6e2 commit b82f170

File tree

4 files changed

+190
-179
lines changed

4 files changed

+190
-179
lines changed

Makefile

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ GOPATH := $(shell go env GOPATH)
88
endif
99

1010
PROTO_ROOT := temporal-proto
11+
COLOR := "\e[1;36m%s\e[0m\n"
1112
# List only subdirectories with *.proto files. Sort to remove duplicates.
1213
PROTO_DIRS = $(sort $(dir $(wildcard $(PROTO_ROOT)/*/*.proto)))
1314
PROTO_SERVICES = $(wildcard $(PROTO_ROOT)/*/service.proto)
@@ -16,7 +17,7 @@ PROTO_IMPORT := $(PROTO_ROOT):$(GOPATH)/src/github.com/gogo/protobuf/protobuf
1617

1718
update-proto: update-proto-submodule all
1819

19-
all: grpc grpc-mock copyright gomodtidy
20+
all: grpc grpc-mock copyright update-dependencies gomodtidy
2021

2122
all-install: grpc-install mockgen-install
2223

@@ -26,26 +27,27 @@ $(PROTO_OUT):
2627
# git submodule for proto files
2728

2829
update-proto-submodule:
30+
printf $(COLOR) "Update proto-submodule..."
2931
git submodule update --init --remote $(PROTO_ROOT)
3032

3133
# Compile proto files to go
3234

3335
grpc: gogo-grpc
3436

3537
gogo-grpc: clean $(PROTO_OUT)
36-
echo "Compiling for gogo-gRPC..."
38+
printf $(COLOR) "Compiling for gogo-gRPC..."
3739
$(foreach PROTO_DIR,$(PROTO_DIRS),protoc --proto_path=$(PROTO_IMPORT) --gogofaster_out=Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,plugins=grpc,paths=source_relative:$(PROTO_OUT) $(PROTO_DIR)*.proto;)
3840

3941
gogo-protobuf: clean $(PROTO_OUT)
40-
echo "Compiling for gogo-protobuf..."
42+
printf $(COLOR) "Compiling for gogo-protobuf..."
4143
$(foreach PROTO_DIR,$(PROTO_DIRS),protoc --proto_path=$(PROTO_IMPORT) --gogofaster_out=Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,paths=source_relative:$(PROTO_OUT) $(PROTO_DIR)*.proto;)
4244

4345
go-protobuf: clean $(PROTO_OUT)
44-
echo "Compiling for go-protobuf..."
46+
printf $(COLOR) "Compiling for go-protobuf..."
4547
$(foreach PROTO_DIR,$(PROTO_DIRS),protoc --proto_path=$(PROTO_IMPORT) --go_out=paths=source_relative:$(PROTO_OUT) $(PROTO_DIR)*.proto;)
4648

4749
go-grpc: clean $(PROTO_OUT)
48-
echo "Compiling for go-gRPC..."
50+
printf $(COLOR) "Compiling for go-gRPC..."
4951
$(foreach PROTO_DIR,$(PROTO_DIRS),protoc --proto_path=$(PROTO_IMPORT) --go_out=plugins=grpc,paths=source_relative:$(PROTO_OUT) $(PROTO_DIR)*.proto;)
5052

5153
# Generate mocks
@@ -56,36 +58,45 @@ dir_no_slash = $(patsubst %/,%,$(dir $(1)))
5658
dirname = $(notdir $(call dir_no_slash,$(1)))
5759

5860
grpc-mock:
59-
@echo "Generate gRPC mocks..."
60-
@$(foreach PROTO_GRPC_SERVICE,$(PROTO_GRPC_SERVICES),cd $(PROTO_OUT) && mockgen -package $(call dirname,$(PROTO_GRPC_SERVICE))mock -source $(PROTO_GRPC_SERVICE) -destination $(call dir_no_slash,$(PROTO_GRPC_SERVICE))mock/$(notdir $(PROTO_GRPC_SERVICE:go=mock.go)) )
61+
printf $(COLOR) "Generate gRPC mocks..."
62+
$(foreach PROTO_GRPC_SERVICE,$(PROTO_GRPC_SERVICES),cd $(PROTO_OUT) && mockgen -package $(call dirname,$(PROTO_GRPC_SERVICE))mock -source $(PROTO_GRPC_SERVICE) -destination $(call dir_no_slash,$(PROTO_GRPC_SERVICE))mock/$(notdir $(PROTO_GRPC_SERVICE:go=mock.go)) )
6163

6264
# Plugins & tools
6365

6466
grpc-install: gogo-protobuf-install
65-
echo "Installing/updaing gRPC plugins..."
66-
GO111MODULE=off go get -u google.golang.org/grpc
67+
printf $(COLOR) "Installing/updating gRPC plugin..."
68+
go get -u google.golang.org/grpc
6769

6870
gogo-protobuf-install: go-protobuf-install
69-
GO111MODULE=off go get -u github.com/gogo/protobuf/protoc-gen-gogofaster
71+
printf $(COLOR) "Installing/updating gogo protobuf plugin..."
72+
go get -u github.com/gogo/protobuf/protoc-gen-gogofaster
7073

7174
go-protobuf-install:
72-
GO111MODULE=off go get -u github.com/golang/protobuf/protoc-gen-go
75+
printf $(COLOR) "Installing/updating go protobuf plugin..."
76+
go get -u github.com/golang/protobuf/protoc-gen-go
7377

7478
mockgen-install:
75-
GO111MODULE=off go get -u github.com/golang/mock/mockgen
79+
printf $(COLOR) "Installing/updating mockgen..."
80+
go get -u github.com/golang/mock/mockgen
7681

7782
# Add licence header to generated files
7883

7984
copyright:
85+
printf $(COLOR) "Update license headers..."
8086
go run ./cmd/copyright/licensegen.go
8187

8288
# Keep go.mod updated
8389

90+
update-dependencies:
91+
printf $(COLOR) "Update dependencies..."
92+
go get -u ./...
93+
8494
gomodtidy:
95+
printf $(COLOR) "Run 'go mod tidy'..."
8596
go mod tidy
8697

8798
# clean
8899

89100
clean:
90-
echo "Deleting generated go files..."
101+
printf $(COLOR) "Deleting generated go files..."
91102
rm -rf $(PROTO_OUT)/*/*.pb.*go

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ require (
88
github.com/gogo/status v1.1.0
99
github.com/golang/mock v1.4.3
1010
github.com/golang/protobuf v1.4.2 // indirect
11-
golang.org/x/net v0.0.0-20200519113804-d87ec0cfa476 // indirect
11+
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect
1212
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 // indirect
1313
golang.org/x/text v0.3.2 // indirect
14-
google.golang.org/genproto v0.0.0-20200519141106-08726f379972 // indirect
14+
google.golang.org/genproto v0.0.0-20200521103424-e9a78aa275b7 // indirect
1515
google.golang.org/grpc v1.29.1
1616
)

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r
5252
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
5353
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
5454
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
55-
golang.org/x/net v0.0.0-20200519113804-d87ec0cfa476 h1:E7ct1C6/33eOdrGZKMoyntcEvs2dwZnDe30crG5vpYU=
56-
golang.org/x/net v0.0.0-20200519113804-d87ec0cfa476/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
55+
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 h1:eDrdRpKgkcCqKZQwyZRyeFZgfqt37SL7Kv3tok06cKE=
56+
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
5757
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
5858
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
5959
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -86,8 +86,8 @@ google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoA
8686
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
8787
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=
8888
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
89-
google.golang.org/genproto v0.0.0-20200519141106-08726f379972 h1:6ydLqG65DIMNJf6p97WudGsmd1w3Ickm/LiZnBrREPI=
90-
google.golang.org/genproto v0.0.0-20200519141106-08726f379972/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
89+
google.golang.org/genproto v0.0.0-20200521103424-e9a78aa275b7 h1:JUs1uIDQ46c7iI0QuMPzAHqXaSmqKF0f9freFMk2ivs=
90+
google.golang.org/genproto v0.0.0-20200521103424-e9a78aa275b7/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
9191
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
9292
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
9393
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=

0 commit comments

Comments
 (0)