Skip to content

Commit 73c3566

Browse files
authored
Update instructions to generate protos (#1742)
* add instructions to re-generate mocks and protos * fix instructions * add cmd deps in tools * fix Dockerfile
1 parent 39ac73b commit 73c3566

File tree

6 files changed

+93
-10
lines changed

6 files changed

+93
-10
lines changed

README.md

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,45 @@ Some of the CT Go code is autogenerated from other files:
105105
definitions are converted to `.pb.go` implementations.
106106
- A mock implementation of the Trillian gRPC API (in `trillian/mockclient`) is
107107
created with [GoMock](https://github.com/golang/mock).
108+
- Some enums have string-conversion methods (satisfying the `fmt.Stringer`
109+
interface) created using the
110+
[stringer](https://godoc.org/golang.org/x/tools/cmd/stringer) tool (`go get
111+
golang.org/x/tools/cmd/stringer`).
108112

109113
Re-generating mock or protobuffer files is only needed if you're changing
110-
the original files; if you do, you'll need to install the prerequisites:
114+
the original files. The recommended way to do this is by using the Docker
115+
image used by the Cloud Build:
111116

112-
- tools written in `go` can be installed with a single run of `go install`
113-
(courtesy of [`tools.go`](./tools/tools.go) and `go.mod`).
114-
- `protoc` tool: you'll need [version 3.20.1](https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.1) installed, and `PATH` updated to include its `bin/` directory.
117+
```shell
118+
docker build -f ./integration/Dockerfile -t ctgo-builder .
119+
docker run -it --mount type=bind,src="$(pwd)",target=/src ctgo-builder /bin/bash -c "cd /src; ./scripts/install_deps.sh; go generate -x ./..."
120+
```
121+
122+
These commands first create a docker image from the Dockerfile in this repo, and
123+
then launch a container based on this image with the local directory mounted. The
124+
correct versions of the tools are determined using the `go.mod` file in this repo,
125+
and these tools are installed. Finally, all of the generated files are regenerated
126+
and Docker exits.
127+
128+
Alternatively, you can install the prerequisites locally:
115129

116-
With tools installed, run the following:
130+
- a series of tools, using `go install` to ensure that the versions are
131+
compatible and tested:
132+
133+
```
134+
cd $(go list -f '{{ .Dir }}' github.com/google/certificate-transparency-go); \
135+
go install github.com/golang/mock/mockgen; \
136+
go install google.golang.org/protobuf/proto; \
137+
go install google.golang.org/protobuf/cmd/protoc-gen-go; \
138+
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc; \
139+
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc; \
140+
go install golang.org/x/tools/cmd/stringer
141+
```
142+
- `protoc` tool: you'll need [version 3.20.1](https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.1) installed, and `PATH` updated to include its `bin/` directory.
143+
144+
and run the following:
117145
118146
```bash
119147
go generate -x ./... # hunts for //go:generate comments and runs them
120148
```
149+

go.mod

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ require (
4444
cloud.google.com/go/trace v1.11.3 // indirect
4545
contrib.go.opencensus.io/exporter/stackdriver v0.13.14 // indirect
4646
filippo.io/edwards25519 v1.1.0 // indirect
47+
github.com/Masterminds/goutils v1.1.1 // indirect
48+
github.com/Masterminds/semver v1.5.0 // indirect
49+
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
4750
github.com/VividCortex/ewma v1.2.0 // indirect
4851
github.com/aws/aws-sdk-go v1.55.5 // indirect
4952
github.com/beorn7/perks v1.0.1 // indirect
@@ -79,6 +82,8 @@ require (
7982
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 // indirect
8083
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect
8184
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
85+
github.com/huandu/xstrings v1.2.0 // indirect
86+
github.com/imdario/mergo v0.3.16 // indirect
8287
github.com/inconshreveable/mousetrap v1.1.0 // indirect
8388
github.com/jackc/pgpassfile v1.0.0 // indirect
8489
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
@@ -92,14 +97,19 @@ require (
9297
github.com/mattn/go-isatty v0.0.20 // indirect
9398
github.com/mattn/go-runewidth v0.0.16 // indirect
9499
github.com/miekg/pkcs11 v1.1.1 // indirect
100+
github.com/mitchellh/copystructure v1.0.0 // indirect
101+
github.com/mitchellh/reflectwalk v1.0.1 // indirect
95102
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
103+
github.com/mwitkow/go-proto-validators v0.2.0 // indirect
96104
github.com/olekukonko/tablewriter v0.0.5 // indirect
97105
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
98106
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
99107
github.com/prometheus/client_model v0.6.2 // indirect
100108
github.com/prometheus/common v0.66.1 // indirect
101109
github.com/prometheus/procfs v0.16.1 // indirect
102110
github.com/prometheus/prometheus v0.51.0 // indirect
111+
github.com/pseudomuto/protoc-gen-doc v1.5.1 // indirect
112+
github.com/pseudomuto/protokit v0.2.0 // indirect
103113
github.com/rivo/uniseg v0.4.7 // indirect
104114
github.com/sirupsen/logrus v1.9.3 // indirect
105115
github.com/soheilhy/cmux v0.1.5 // indirect
@@ -142,6 +152,7 @@ require (
142152
google.golang.org/genproto v0.0.0-20250122153221-138b5a5a4fd4 // indirect
143153
google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b // indirect
144154
google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b // indirect
155+
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0 // indirect
145156
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
146157
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
147158
sigs.k8s.io/yaml v1.4.0 // indirect

go.sum

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4
2020
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
2121
github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
2222
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
23+
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
24+
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
25+
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
26+
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
27+
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
28+
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
2329
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
2430
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
2531
github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
@@ -88,6 +94,7 @@ github.com/go-sql-driver/mysql v1.9.3 h1:U/N249h2WzJ3Ukj8SowVFjdtZKfu9vlLZxjPXV1
8894
github.com/go-sql-driver/mysql v1.9.3/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
8995
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
9096
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
97+
github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
9198
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
9299
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
93100
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
@@ -148,6 +155,10 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5uk
148155
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
149156
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
150157
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
158+
github.com/huandu/xstrings v1.2.0 h1:yPeWdRnmynF7p+lLYz0H2tthW9lqhMJrQV/U7yy4wX0=
159+
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
160+
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
161+
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
151162
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
152163
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
153164
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
@@ -166,6 +177,7 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw
166177
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
167178
github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I=
168179
github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60=
180+
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
169181
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
170182
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
171183
github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCyc/Ib3bDTKd379tNMpB/7/H5TjM2Y9QJ5THLbE=
@@ -197,8 +209,15 @@ github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxU
197209
github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
198210
github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
199211
github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
212+
github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ=
213+
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
214+
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
215+
github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE=
216+
github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
200217
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
201218
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
219+
github.com/mwitkow/go-proto-validators v0.2.0 h1:F6LFfmgVnfULfaRsQWBbe7F7ocuHCr9+7m+GAeDzNbQ=
220+
github.com/mwitkow/go-proto-validators v0.2.0/go.mod h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc=
202221
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
203222
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
204223
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
@@ -219,6 +238,10 @@ github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzM
219238
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
220239
github.com/prometheus/prometheus v0.51.0 h1:aRdjTnmHLved29ILtdzZN2GNvOjWATtA/z+3fYuexOc=
221240
github.com/prometheus/prometheus v0.51.0/go.mod h1:yv4MwOn3yHMQ6MZGHPg/U7Fcyqf+rxqiZfSur6myVtc=
241+
github.com/pseudomuto/protoc-gen-doc v1.5.1 h1:Ah259kcrio7Ix1Rhb6u8FCaOkzf9qRBqXnvAufg061w=
242+
github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod h1:XpMKYg6zkcpgfpCfQ8GcWBDRtRxOmMR5w7pz4Xo+dYM=
243+
github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM=
244+
github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
222245
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
223246
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
224247
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@@ -393,6 +416,7 @@ golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
393416
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
394417
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
395418
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
419+
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
396420
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
397421
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
398422
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -432,6 +456,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji
432456
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
433457
google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A=
434458
google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c=
459+
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0 h1:6Al3kEFFP9VJhRz3DID6quisgPnTeZVr4lep9kkxdPA=
460+
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0/go.mod h1:QLvsjh0OIR0TYBeiu2bkWGTJBUNQ64st52iWj/yA93I=
435461
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
436462
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
437463
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

integration/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This Dockerfile builds a base image for the certificate-transparency-go CloudBuild integration testing.
22
# See https://hub.docker.com/_/golang for the set of golang base images.
3-
FROM golang:1.25.3-bookworm@sha256:ee420c17fa013f71eca6b35c3547b854c838d4f26056a34eb6171bba5bf8ece4 as ct_testbase
3+
FROM golang:1.25.3-bookworm@sha256:ee420c17fa013f71eca6b35c3547b854c838d4f26056a34eb6171bba5bf8ece4 AS ct_testbase
44

55
WORKDIR /testbase
66

@@ -19,11 +19,11 @@ RUN mkdir protoc && \
1919
unzip -o ${PROTOC_ZIP} -d /usr/local bin/protoc && \
2020
unzip -o ${PROTOC_ZIP} -d /usr/local 'include/*' \
2121
)
22-
ENV PATH /usr/local/bin:$PATH
22+
ENV PATH=/usr/local/bin:$PATH
2323

2424
COPY ./integration/test-runner.sh /testbase/
2525

26-
ENV GOPATH /go
27-
ENV PATH $GOPATH/bin:/testbase/protoc/bin:$PATH
26+
ENV GOPATH=/go
27+
ENV PATH=$GOPATH/bin:/testbase/protoc/bin:$PATH
2828

29-
CMD /bin/bash -exc /testbase/test-runner.sh
29+
CMD ["/bin/bash", "-exc", "/testbase/test-runner.sh"]

scripts/install_deps.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
#
3+
# Installs the dependencies required to build this repo.
4+
set -eu
5+
6+
main() {
7+
go install github.com/golang/mock/mockgen
8+
go install google.golang.org/protobuf/proto
9+
go install google.golang.org/protobuf/cmd/protoc-gen-go
10+
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
11+
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
12+
go install golang.org/x/tools/cmd/stringer
13+
}
14+
15+
main

tools/tools.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,7 @@ import (
2626
_ "go.etcd.io/etcd/etcdctl/v3"
2727
_ "go.etcd.io/etcd/v3"
2828
_ "google.golang.org/protobuf/cmd/protoc-gen-go"
29+
_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
30+
_ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc"
2931
_ "google.golang.org/protobuf/proto"
3032
)

0 commit comments

Comments
 (0)