Skip to content

Commit 42f6cac

Browse files
authored
Pin versions with go.mod, similar to server (#1060)
The versioning strategy unfortunately is leaking some dependencies, and codegen isn't reproducible any more. This update mimics how github.com/uber/cadence does dependencies, and is more "normal" for go modules anyway. Implications of these changes include: - Some build and runtime dependencies have changed versions in relatively minor ways. This mostly brings them more in line with the versions used to generate code. - Users may end up downloading more dependencies (e.g. staticcheck), maybe not, depending on how Go decides to handle non-buildable transitive dependencies. They've always _intended_ to prune them implicitly, but I do not know if that is happening yet. - Users should not be _constrained_ by these dependencies, however, as they have no actual import, and do not appear in their go.mod files. Upgrading or downgrading tools in a test project worked and did not require `replace` directives. And since this does away with the "X commits / versions behind current" notification: I've added `make deps` (and `make deps-all`), which works the same way as in cadence-workflow/cadence/pull/4000. Hopefully it's understandable enough to modify easily.
1 parent 3008b97 commit 42f6cac

File tree

5 files changed

+99
-284
lines changed

5 files changed

+99
-284
lines changed

Makefile

+42-41
Original file line numberDiff line numberDiff line change
@@ -32,47 +32,22 @@ ALL_SRC := $(THRIFTRW_OUT) $(shell \
3232
UT_DIRS := $(filter-out $(INTEG_TEST_ROOT)%, $(sort $(dir $(filter %_test.go,$(ALL_SRC)))))
3333

3434
# Files that needs to run lint. excludes testify mocks and the thrift sentinel.
35-
LINT_SRC := $(filter-out ./mock% $(THRIFTRW_OUT),$(ALL_SRC))
35+
LINT_SRC := $(filter-out ./mock% ./tools.go $(THRIFTRW_OUT),$(ALL_SRC))
3636

37-
THRIFTRW_VERSION := v1.11.0
38-
YARPC_VERSION := v1.29.1
39-
GOLINT_VERSION := 470b6b0bb3005eda157f0275e2e4895055396a81
40-
STATICCHECK_VERSION := 2019.2.3
41-
ERRCHECK_VERSION := v1.2.0
37+
$(BINS)/thriftrw: go.mod
38+
go build -mod=readonly -o $@ go.uber.org/thriftrw
4239

43-
# versioned tools. just change the version vars above, it'll automatically trigger a rebuild.
44-
$(BINS)/versions/thriftrw-$(THRIFTRW_VERSION):
45-
./versioned_go_build.sh go.uber.org/thriftrw $(THRIFTRW_VERSION) $@
40+
$(BINS)/thriftrw-plugin-yarpc: go.mod
41+
go build -mod=readonly -o $@ go.uber.org/yarpc/encoding/thrift/thriftrw-plugin-yarpc
4642

47-
$(BINS)/versions/yarpc-$(YARPC_VERSION):
48-
./versioned_go_build.sh go.uber.org/yarpc $(YARPC_VERSION) encoding/thrift/thriftrw-plugin-yarpc $@
43+
$(BINS)/golint: go.mod
44+
go build -mod=readonly -o $@ golang.org/x/lint/golint
4945

50-
$(BINS)/versions/golint-$(GOLINT_VERSION):
51-
./versioned_go_build.sh golang.org/x/lint $(GOLINT_VERSION) golint $@
46+
$(BINS)/staticcheck: go.mod
47+
go build -mod=readonly -o $@ honnef.co/go/tools/cmd/staticcheck
5248

53-
$(BINS)/versions/staticcheck-$(STATICCHECK_VERSION):
54-
./versioned_go_build.sh honnef.co/go/tools $(STATICCHECK_VERSION) cmd/staticcheck $@
55-
56-
$(BINS)/versions/errcheck-$(ERRCHECK_VERSION):
57-
./versioned_go_build.sh github.com/kisielk/errcheck $(ERRCHECK_VERSION) $@
58-
59-
# stable tool targets. depend on / execute these instead of the versioned ones.
60-
# this versioned-to-nice-name thing is mostly because thriftrw depends on the yarpc
61-
# bin to be named "thriftrw-plugin-yarpc".
62-
$(BINS)/thriftrw: $(BINS)/versions/thriftrw-$(THRIFTRW_VERSION)
63-
@ln -fs $(CURDIR)/$< $@
64-
65-
$(BINS)/thriftrw-plugin-yarpc: $(BINS)/versions/yarpc-$(YARPC_VERSION)
66-
@ln -fs $(CURDIR)/$< $@
67-
68-
$(BINS)/golint: $(BINS)/versions/golint-$(GOLINT_VERSION)
69-
@ln -fs $(CURDIR)/$< $@
70-
71-
$(BINS)/staticcheck: $(BINS)/versions/staticcheck-$(STATICCHECK_VERSION)
72-
@ln -fs $(CURDIR)/$< $@
73-
74-
$(BINS)/errcheck: $(BINS)/versions/errcheck-$(ERRCHECK_VERSION)
75-
@ln -fs $(CURDIR)/$< $@
49+
$(BINS)/errcheck: go.mod
50+
go build -mod=readonly -o $@ github.com/kisielk/errcheck
7651

7752
$(THRIFTRW_OUT): $(THRIFTRW_SRC) $(BINS)/thriftrw $(BINS)/thriftrw-plugin-yarpc
7853
@echo 'thriftrw: $(THRIFTRW_SRC)'
@@ -88,10 +63,7 @@ $(THRIFTRW_OUT): $(THRIFTRW_SRC) $(BINS)/thriftrw $(BINS)/thriftrw-plugin-yarpc
8863
git-submodules:
8964
git submodule update --init --recursive
9065

91-
yarpc-install:
92-
GO111MODULE=off go get -u github.com/myitcv/gobin
93-
GOOS= GOARCH= gobin -mod=readonly go.uber.org/thriftrw
94-
GOOS= GOARCH= gobin -mod=readonly go.uber.org/yarpc/encoding/thrift/thriftrw-plugin-yarpc
66+
yarpc-install: $(BINS)/thriftrw $(BINS)/thriftrw-plugin-yarpc
9567

9668
thriftc: git-submodules yarpc-install $(THRIFTRW_OUT) copyright
9769

@@ -106,7 +78,7 @@ copyright $(BUILD)/copyright: $(ALL_SRC)
10678
@touch $(BUILD)/copyright
10779

10880
$(BUILD)/dummy:
109-
go build -i -o $@ internal/cmd/dummy/dummy.go
81+
go build -o $@ internal/cmd/dummy/dummy.go
11082

11183
bins: thriftc $(ALL_SRC) $(BUILD)/copyright lint $(BUILD)/dummy
11284

@@ -179,3 +151,32 @@ fmt:
179151
clean:
180152
rm -Rf $(BUILD)
181153
rm -Rf .gen
154+
155+
# broken up into multiple += so I can interleave comments.
156+
# this all becomes a single line of output.
157+
# you must not use single-quotes within the string in this var.
158+
JQ_DEPS_AGE = jq '
159+
# only deal with things with updates
160+
JQ_DEPS_AGE += select(.Update)
161+
# allow additional filtering, e.g. DEPS_FILTER='$(JQ_DEPS_ONLY_DIRECT)'
162+
JQ_DEPS_AGE += $(DEPS_FILTER)
163+
# add "days between current version and latest version"
164+
JQ_DEPS_AGE += | . + {Age:(((.Update.Time | fromdate) - (.Time | fromdate))/60/60/24 | floor)}
165+
# add "days between latest version and now"
166+
JQ_DEPS_AGE += | . + {Available:((now - (.Update.Time | fromdate))/60/60/24 | floor)}
167+
# 123 days: library old_version -> new_version
168+
JQ_DEPS_AGE += | ([.Age, .Available] | max | tostring) + " days: " + .Path + " \t" + .Version + " -> " + .Update.Version
169+
JQ_DEPS_AGE += '
170+
# remove surrounding quotes from output
171+
JQ_DEPS_AGE += --raw-output
172+
173+
# exclude `"Indirect": true` dependencies. direct ones have no "Indirect" key at all.
174+
JQ_DEPS_ONLY_DIRECT = | select(has("Indirect") | not)
175+
176+
deps: ## Check for dependency updates, for things that are directly imported
177+
@make --no-print-directory DEPS_FILTER='$(JQ_DEPS_ONLY_DIRECT)' deps-all
178+
179+
deps-all: ## Check for all dependency updates
180+
@go list -u -m -json all \
181+
| $(JQ_DEPS_AGE) \
182+
| sort -n

go.mod

+8-10
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ require (
99
github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b // indirect
1010
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
1111
github.com/crossdock/crossdock-go v0.0.0-20160816171116-049aabb0122b // indirect
12+
github.com/davecgh/go-spew v1.1.1 // indirect
1213
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a
1314
github.com/fatih/structtag v1.0.0 // indirect
1415
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 // indirect
15-
github.com/gogo/googleapis v1.3.1 // indirect
16-
github.com/gogo/status v1.1.0 // indirect
1716
github.com/golang/mock v1.4.4
17+
github.com/golang/protobuf v1.2.0 // indirect
1818
github.com/jessevdk/go-flags v1.4.0 // indirect
19-
github.com/kr/pretty v0.1.0 // indirect
19+
github.com/kisielk/errcheck v1.2.0
2020
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
2121
github.com/opentracing/opentracing-go v1.1.0
2222
github.com/pborman/uuid v0.0.0-20160209185913-a97ce2ca70fa
@@ -27,7 +27,6 @@ require (
2727
github.com/prometheus/common v0.0.0-20170908161822-2f17f4a9d485 // indirect
2828
github.com/prometheus/procfs v0.0.0-20180321230812-780932d4fbbe // indirect
2929
github.com/robfig/cron v1.2.0
30-
github.com/samuel/go-thrift v0.0.0-20190219015601-e8b6b52668fe // indirect
3130
github.com/sirupsen/logrus v0.11.5
3231
github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25 // indirect
3332
github.com/stretchr/objx v0.1.1 // indirect
@@ -37,20 +36,19 @@ require (
3736
github.com/uber/jaeger-client-go v2.22.1+incompatible
3837
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
3938
github.com/uber/tchannel-go v1.14.0
40-
go.uber.org/atomic v1.5.1
39+
go.uber.org/atomic v1.4.0
4140
go.uber.org/dig v1.7.0 // indirect
4241
go.uber.org/fx v1.9.0 // indirect
4342
go.uber.org/goleak v0.10.0
4443
go.uber.org/multierr v1.1.0 // indirect
4544
go.uber.org/net/metrics v1.0.1 // indirect
46-
go.uber.org/thriftrw v1.20.2
47-
go.uber.org/tools v0.0.0-20190430173459-422a61c266e1 // indirect
48-
go.uber.org/yarpc v1.42.0
45+
go.uber.org/thriftrw v1.11.0
46+
go.uber.org/yarpc v1.29.1
4947
go.uber.org/zap v1.8.0
50-
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
48+
golang.org/x/lint v0.0.0-20180428170328-470b6b0bb300
5149
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa
5250
golang.org/x/time v0.0.0-20170927054726-6dc17368e09b
5351
golang.org/x/tools v0.0.0-20200127195909-ed30b9180dd3 // indirect
54-
google.golang.org/grpc v1.23.1 // indirect
5552
gopkg.in/yaml.v2 v2.2.2 // indirect
53+
honnef.co/go/tools v0.0.1-2019.2.3
5654
)

go.sum

+18-51
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
21
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
32
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
43
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
@@ -9,7 +8,6 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLM
98
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
109
github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE=
1110
github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q=
12-
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
1311
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w=
1412
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
1513
github.com/crossdock/crossdock-go v0.0.0-20160816171116-049aabb0122b h1:WR1qVJzbvrVywhAk4kMQKRPx09AZVI0NdEdYs59iHcA=
@@ -24,23 +22,11 @@ github.com/fatih/structtag v1.0.0 h1:pTHj65+u3RKWYPSGaU290FpI/dXxTaHdVwVwbcPKmEc
2422
github.com/fatih/structtag v1.0.0/go.mod h1:IKitwq45uXL/yqi5mYghiD3w9H6eTOvI9vnk8tXMphA=
2523
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ=
2624
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
27-
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
28-
github.com/gogo/googleapis v1.3.1 h1:CzMaKrvF6Qa7XtRii064vKBQiyvmY8H8vG1xa1/W1JA=
29-
github.com/gogo/googleapis v1.3.1/go.mod h1:d+q1s/xVJxZGKWwC/6UfPIF33J+G1Tq4GYv9Y+Tg/EU=
30-
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
31-
github.com/gogo/protobuf v1.3.0 h1:G8O7TerXerS4F6sx9OV7/nRfJdnXgHZu/S/7F2SN+UE=
32-
github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
33-
github.com/gogo/status v1.1.0 h1:+eIkrewn5q6b30y+g/BJINVVdi2xH7je5MPJ3ZPK3JA=
34-
github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
35-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
36-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
37-
github.com/golang/mock v1.1.1 h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8=
38-
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
3925
github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc=
4026
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
4127
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
4228
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
43-
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
29+
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
4430
github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
4531
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
4632
github.com/kisielk/errcheck v1.2.0 h1:reN85Pxc5larApoH1keMBiu2GWtPqXQ1nc9gx+jOU+E=
@@ -73,8 +59,7 @@ github.com/prometheus/procfs v0.0.0-20180321230812-780932d4fbbe h1:sxvCVczjZN4Fl
7359
github.com/prometheus/procfs v0.0.0-20180321230812-780932d4fbbe/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
7460
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
7561
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
76-
github.com/samuel/go-thrift v0.0.0-20190219015601-e8b6b52668fe h1:gD4vkYmuoWVgdV6UwI3tPo9MtMfVoIRY+Xn9919SJBg=
77-
github.com/samuel/go-thrift v0.0.0-20190219015601-e8b6b52668fe/go.mod h1:Vrkh1pnjV9Bl8c3P9zH0/D4NlOHWP5d4/hF4YTULaec=
62+
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
7863
github.com/sirupsen/logrus v0.11.5 h1:X30KsLZ9eg2X2fViSIWKcjKTdyYnmFZHlfxEdvW34Gc=
7964
github.com/sirupsen/logrus v0.11.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
8065
github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25 h1:7z3LSn867ex6VSaahyKadf4WtSsJIgne6A1WLOAGM8A=
@@ -94,8 +79,8 @@ github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/
9479
github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
9580
github.com/uber/tchannel-go v1.14.0 h1:v5mYnfCSI+H76umzo17+o3YdrnUt5W1AcvV+47065B0=
9681
github.com/uber/tchannel-go v1.14.0/go.mod h1:Rrgz1eL8kMjW/nEzZos0t+Heq0O4LhnUJVA32OvWKHo=
97-
go.uber.org/atomic v1.5.1 h1:rsqfU5vBkVknbhUGbAUwQKR2H4ItV8tjJ+6kJX4cxHM=
98-
go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
82+
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
83+
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
9984
go.uber.org/dig v1.7.0 h1:E5/L92iQTNJTjfgJF2KgU+/JpMaiuvK2DHLBj0+kSZk=
10085
go.uber.org/dig v1.7.0/go.mod h1:z+dSd2TP9Usi48jL8M3v63iSBVkiwtVyMKxMZYYauPg=
10186
go.uber.org/fx v1.9.0 h1:7OAz8ucp35AU8eydejpYG7QrbE8rLKzGhHbZlJi5LYY=
@@ -106,61 +91,43 @@ go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
10691
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
10792
go.uber.org/net/metrics v1.0.1 h1:xu1mJeF1hrzVf0Gh3hX8zppV8sWR5wtwhfoeHZZOZiU=
10893
go.uber.org/net/metrics v1.0.1/go.mod h1:cQvI3JawIRCZEgrpuF3rrV2OrQGLchMqJPyPAH7GUdo=
109-
go.uber.org/thriftrw v1.20.2 h1:0JlCE7dOyWHEQdfDm0MWIbgTn6vXkiMA6LNIe8FQXjw=
110-
go.uber.org/thriftrw v1.20.2/go.mod h1:a0+HZMaS9tmHDCPyrrx1GjYWFRK02xzxnrK1Nl9LiLU=
111-
go.uber.org/tools v0.0.0-20190430173459-422a61c266e1 h1:dhnGP7L0j/iogW07EbNoC+lgHv1TPlAexVpSlBSZ1ms=
112-
go.uber.org/tools v0.0.0-20190430173459-422a61c266e1/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
113-
go.uber.org/yarpc v1.42.0 h1:nvEGNMLhOL5zHNKL6sSCk/a2cr8HI5aVrmYlP23GPJM=
114-
go.uber.org/yarpc v1.42.0/go.mod h1:5wt+WtAfoQh3yGyup7479I35hUobLqCfb0oewxC58jE=
94+
go.uber.org/thriftrw v1.11.0 h1:1z4ZXeqSr7Dggm7/qZf/z0oIgHhZgajfNfKXF2Xqp2Q=
95+
go.uber.org/thriftrw v1.11.0/go.mod h1:a0+HZMaS9tmHDCPyrrx1GjYWFRK02xzxnrK1Nl9LiLU=
96+
go.uber.org/yarpc v1.29.1 h1:6dcEO/qyyYB0HRMzZeIQDh5bGuYALYii74Jq8EvD0Vw=
97+
go.uber.org/yarpc v1.29.1/go.mod h1:5wt+WtAfoQh3yGyup7479I35hUobLqCfb0oewxC58jE=
11598
go.uber.org/zap v1.8.0 h1:r6Za1Rii8+EGOYRDLvpooNOF6kP3iyDnkpzbw67gCQ8=
11699
go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
117100
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
101+
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
118102
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
119-
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
120-
golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs=
121-
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
122-
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE=
123-
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
103+
golang.org/x/lint v0.0.0-20180428170328-470b6b0bb300 h1:+lRR0TS7YlVzoCwvz7nMhMyCK2WO1evC+5Xua003+VA=
104+
golang.org/x/lint v0.0.0-20180428170328-470b6b0bb300/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
105+
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
124106
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
125-
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
126107
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
127108
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
128109
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
129110
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA=
130111
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
131-
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
132-
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
133112
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
134113
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
135-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
136114
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
137115
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
138116
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
139-
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
140117
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
141118
golang.org/x/time v0.0.0-20170927054726-6dc17368e09b h1:3X+R0qq1+64izd8es+EttB6qcY+JDlVmAhpRXl7gpzU=
142119
golang.org/x/time v0.0.0-20170927054726-6dc17368e09b/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
143120
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
144-
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
145121
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
146-
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
147-
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c h1:IGkKhmfzcztjm6gYkykvu/NiS8kaqbCWAEWWAyf8J5U=
148-
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
149-
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
122+
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
150123
golang.org/x/tools v0.0.0-20200127195909-ed30b9180dd3 h1:wekDDzep3dEw9u1vNG72huQWdyqYUglXysZyFTQ6OZ4=
151124
golang.org/x/tools v0.0.0-20200127195909-ed30b9180dd3/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
152-
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
153125
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
154-
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
155-
google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
156-
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
157-
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
158-
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
159-
google.golang.org/grpc v1.23.1 h1:q4XQuHFC6I28BKZpo6IYyb3mNO+l7lSOxRuYTCiDfXk=
160-
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
161-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
162126
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
127+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
128+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
129+
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
163130
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
164131
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
165-
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs=
166-
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
132+
honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
133+
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=

0 commit comments

Comments
 (0)