From e7499cd98daf2853724eee31c04463fe37defc7f Mon Sep 17 00:00:00 2001 From: Syrone Wong Date: Fri, 21 Feb 2020 13:35:46 +0800 Subject: [PATCH] Switch to go mod - Clash use latest dev branch to include UDP fixes - Add instructions on how to build this project Signed-off-by: Syrone Wong --- Gopkg.lock | 279 ----------------------------------------------------- Gopkg.toml | 27 ------ Makefile | 9 +- README.md | 95 +++++++++++++++++- go.mod | 14 +++ go.sum | 69 +++++++++++++ 6 files changed, 184 insertions(+), 309 deletions(-) delete mode 100644 Gopkg.lock delete mode 100644 Gopkg.toml create mode 100644 go.mod create mode 100644 go.sum diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index a8e628b..0000000 --- a/Gopkg.lock +++ /dev/null @@ -1,279 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:b1e9e4294e7525e98848ee1c83b32ee96a55ad840f887393e9b0571dd61458a3" - name = "github.com/Dreamacro/clash" - packages = [ - "adapters/inbound", - "adapters/outbound", - "adapters/outboundgroup", - "adapters/provider", - "common/cache", - "common/murmur3", - "common/observable", - "common/picker", - "common/pool", - "common/queue", - "common/singledo", - "common/structure", - "component/auth", - "component/dialer", - "component/domain-trie", - "component/fakeip", - "component/mmdb", - "component/nat", - "component/simple-obfs", - "component/snell", - "component/socks5", - "component/v2ray-plugin", - "component/vmess", - "config", - "constant", - "dns", - "hub/executor", - "log", - "proxy", - "proxy/auth", - "proxy/http", - "proxy/redir", - "proxy/socks", - "rules", - "tunnel", - ] - pruneopts = "NUT" - revision = "f69f635e0b0ada91f68be3a8566cf36e51f81818" - -[[projects]] - digest = "1:2b01537c1d93da7869920dad42a412ff7cd0a38ff3f3c0d93c63da783cbe6d49" - name = "github.com/Dreamacro/go-shadowsocks2" - packages = [ - "core", - "shadowaead", - "shadowstream", - ] - pruneopts = "NUT" - revision = "4374ee8e77000a2bbc0eb82717f96912d18e3a08" - version = "v0.1.5" - -[[projects]] - digest = "1:0d36a2b325b9e75f8057f7f9fbe778d348d70ba652cb9335485b69d1a5c4e038" - name = "github.com/eapache/queue" - packages = ["."] - pruneopts = "NUT" - revision = "44cc805cf13205b55f69e14bcb69867d1ae92f98" - version = "v1.1.0" - -[[projects]] - digest = "1:734b2dbb1acf17f5eff2179d717258c38c27bd9d2b719f1086ff31042220b8c1" - name = "github.com/eycorsican/go-tun2socks" - packages = [ - "common/dns", - "common/dns/cache", - "common/dns/fakedns", - "common/log", - "common/lsof", - "common/lsof/windows", - "common/stats", - "core", - "proxy/socks", - ] - pruneopts = "T" - revision = "efeee82202ff1e4664bec98fd08a413f703a9f9a" - source = "github.com/trojan-gfw/go-tun2socks" - -[[projects]] - digest = "1:bde9f189072512ba353f3641d4839cb4c9c7edf421e467f2c03f267b402bd16c" - name = "github.com/gofrs/uuid" - packages = ["."] - pruneopts = "NUT" - revision = "6b08a5c5172ba18946672b49749cde22873dd7c2" - version = "v3.2.0" - -[[projects]] - digest = "1:d5344bb08f1d8dc55f9a513ac4f971a9c8baeb73690b7cde56f4fe8a9143ef62" - name = "github.com/gorilla/websocket" - packages = ["."] - pruneopts = "NUT" - revision = "c3e18be99d19e6b3e8f1559eea2c161a665c4b6b" - version = "v1.4.1" - -[[projects]] - digest = "1:58999a98719fddbac6303cb17e8d85b945f60b72f48e3a2df6b950b97fa926f1" - name = "github.com/konsorten/go-windows-terminal-sequences" - packages = ["."] - pruneopts = "NUT" - revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e" - version = "v1.0.2" - -[[projects]] - digest = "1:689a293fcee6b6c4c2577951a5f1bfcac77b62ef27f6154db2c50a5cc1db3797" - name = "github.com/miekg/dns" - packages = ["."] - pruneopts = "NUT" - revision = "6c0c4e6581f8e173cc562c8b3363ab984e4ae071" - version = "v1.1.27" - -[[projects]] - digest = "1:8458ad87b512968637510fc6caea25f8b734dfda7c35fd5ce00300ecd16ccf46" - name = "github.com/oschwald/geoip2-golang" - packages = ["."] - pruneopts = "NUT" - revision = "ae8b169eb05b73c205edf569a6e4b0dc42c139fb" - version = "v1.4.0" - -[[projects]] - digest = "1:e2b7b40b4c3edf6115a86b3e905b47f596c64d017fbc1d7fe2e294f78da998ce" - name = "github.com/oschwald/maxminddb-golang" - packages = ["."] - pruneopts = "NUT" - revision = "6a033e62c03b7dab4c37f7c9eb2ebb3b10e8f13a" - version = "v1.6.0" - -[[projects]] - digest = "1:f4aaa07a6c33f2b354726d0571acbc8ca118837c75709f6353203ae1a3f8eeab" - name = "github.com/sirupsen/logrus" - packages = ["."] - pruneopts = "NUT" - revision = "839c75faf7f98a33d445d181f3018b5c3409a45e" - version = "v1.4.2" - -[[projects]] - branch = "master" - digest = "1:19c5c0a41a77f6c674859e588259727686565c90243eab7ed11f841dc5e9242c" - name = "github.com/songgao/water" - packages = ["."] - pruneopts = "NUT" - revision = "fd331bda3f4bbc9aad07ccd4bd2abaa1e363a852" - -[[projects]] - branch = "master" - digest = "1:ffdffcffe572fbc204c3b62193fc30ca86545afc32c49931e0f1f968153788e9" - name = "golang.org/x/crypto" - packages = [ - "argon2", - "blake2b", - "chacha20", - "chacha20poly1305", - "ed25519", - "ed25519/internal/edwards25519", - "hkdf", - "internal/subtle", - "poly1305", - ] - pruneopts = "NUT" - revision = "1d94cc7ab1c630336ab82ccb9c9cda72a875c382" - -[[projects]] - branch = "master" - digest = "1:b2bac65d7d6c62610566a944bb216dc095433d73a0d6771e60e461bb9dcc4b9c" - name = "golang.org/x/net" - packages = [ - "bpf", - "idna", - "internal/iana", - "internal/socket", - "internal/socks", - "ipv4", - "ipv6", - "proxy", - "publicsuffix", - ] - pruneopts = "NUT" - revision = "16171245cfb220d5317888b716d69c1fb4e7992b" - -[[projects]] - branch = "master" - digest = "1:4afdcaf2f776edc7fc481d0c4cc5a1ebae7e407076690c8c8dbab6f287c31c76" - name = "golang.org/x/sync" - packages = ["singleflight"] - pruneopts = "NUT" - revision = "cd5d95a43a6e21273425c7ae415d3df9ea832eeb" - -[[projects]] - branch = "master" - digest = "1:2ee533d21acf05ed2a2f4cbf789e37322a7a1ba993450a0ef60b96d4aaecc1c8" - name = "golang.org/x/sys" - packages = [ - "cpu", - "unix", - "windows", - "windows/registry", - ] - pruneopts = "NUT" - revision = "9197077df8675547dfa5e04c6dfcd024257a2030" - -[[projects]] - digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405" - name = "golang.org/x/text" - packages = [ - "collate", - "collate/build", - "internal/colltab", - "internal/gen", - "internal/language", - "internal/language/compact", - "internal/tag", - "internal/triegen", - "internal/ucd", - "language", - "secure/bidirule", - "transform", - "unicode/bidi", - "unicode/cldr", - "unicode/norm", - "unicode/rangetable", - ] - pruneopts = "NUT" - revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475" - version = "v0.3.2" - -[[projects]] - branch = "master" - digest = "1:060d05e6f50db04025a7e6bc5edc3d2f8a6255280e295da61473d966a6884a59" - name = "golang.org/x/tools" - packages = [ - "go/ast/astutil", - "go/gcexportdata", - "go/internal/gcimporter", - "go/internal/packagesdriver", - "go/packages", - "go/types/typeutil", - "internal/packagesinternal", - ] - pruneopts = "NUT" - revision = "f8e42dc47720b31a0fedf0b422ee4cbd171ab163" - -[[projects]] - digest = "1:4f0ac2a7cc350b14c72a9de0de046b908482d6f16183c8570ee4d6e17adc6a94" - name = "gopkg.in/eapache/channels.v1" - packages = ["."] - pruneopts = "NUT" - revision = "47238d5aae8c0fefd518ef2bee46290909cf8263" - version = "v1.1.0" - -[[projects]] - digest = "1:d9b9ac6943a512737f76bf3d61b08d97121c66686bc02ffc231313563230b468" - name = "gopkg.in/yaml.v2" - packages = ["."] - pruneopts = "NUT" - revision = "53403b58ad1b561927d19068c655246f2db79d48" - version = "v2.2.8" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "github.com/Dreamacro/clash/config", - "github.com/Dreamacro/clash/constant", - "github.com/Dreamacro/clash/hub/executor", - "github.com/eycorsican/go-tun2socks/common/dns/cache", - "github.com/eycorsican/go-tun2socks/common/dns/fakedns", - "github.com/eycorsican/go-tun2socks/common/log", - "github.com/eycorsican/go-tun2socks/core", - "github.com/eycorsican/go-tun2socks/proxy/socks", - "github.com/sirupsen/logrus", - "github.com/songgao/water", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index a2d8a6c..0000000 --- a/Gopkg.toml +++ /dev/null @@ -1,27 +0,0 @@ -# Gopkg.toml -# -# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html -# for detailed Gopkg.toml documentation. - -[[constraint]] - name = "github.com/Dreamacro/clash" - revision = "f69f635e0b0ada91f68be3a8566cf36e51f81818" - -[[constraint]] - name = "github.com/sirupsen/logrus" - version = "1.4.2" - -[[override]] - name = "github.com/eycorsican/go-tun2socks" - source = "github.com/trojan-gfw/go-tun2socks" - revision = "efeee82202ff1e4664bec98fd08a413f703a9f9a" - -[prune] - go-tests = true - unused-packages = true - non-go = true - - [[prune.project]] - name = "github.com/eycorsican/go-tun2socks" - non-go = false - unused-packages = false diff --git a/Makefile b/Makefile index 73f7ce3..6ef1b6a 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,9 @@ SOURCES= \ github.com/trojan-gfw/igniter-go-libs/freeport \ github.com/trojan-gfw/igniter-go-libs/util +# pass a single dollar sign to shell +CURRENT_GOPATH="$(shell echo $$GOPATH)" + all: ios android ios: clean @@ -14,7 +17,11 @@ ios: clean android: clean mkdir -p $(BUILDDIR) - gomobile bind -o $(BUILDDIR)/golibs.aar -a -v -ldflags '-s -w' -target=android $(SOURCES) + env GO111MODULE="on" gomobile bind -o $(BUILDDIR)/golibs.aar -a -v -x -ldflags '-s -w' -target=android -gcflags=-trimpath="$(CURRENT_GOPATH)" $(SOURCES) clean: + gomobile clean rm -rf $(BUILDDIR) + +cleanmodcache: + go clean -modcache diff --git a/README.md b/README.md index 6d142c1..87e6ca4 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,102 @@ * go 1.13 * gomobile https://github.com/golang/mobile -* dep https://github.com/golang/dep + +### Install Go + +Please make sure you have Go 1.13 installed correctly + +```shell +go version +``` + +You should see something like +``` +go version go1.13.8 linux/amd64 +``` + +### Install and upgrade gomobile + +In this example, We will install `gomobile` and its dependencies to `$GOPATH`. + +You can find the executable in `$GOPATH/bin`, to make it easy to use, we add it to `PATH`. + +To upgrade, re-run the install commands. + +```shell +export GOPATH=$HOME/go +go get -u -d -v golang.org/x/mobile/cmd/gomobile +go build -a -v golang.org/x/mobile/cmd/gomobile +go install -v golang.org/x/mobile/cmd/gomobile +# Make sure we can execute gomobile and gobind directly +export PATH="$GOPATH/bin:$PATH" +# prepare gomobile component: gobind +gomobile init +``` ### Build ```shell -dep ensure -update +# If you cannot execute command, make sure your PATH is correct + +# Point to your Android SDK root +# change to your installation configuration please +export ANDROID_HOME=/path/to/your/android/sdk + +# Clone this repository +pushd /path/to/git/repository/just/cloned + make android ``` + +### Development Guide + +#### How to switch between local and remove module + +If you want to say, point to the local version of a dependency in Go rather than the one over the web, use the replace keyword. + +The replace line goes above your require statements, like so: + +``` +module github.com/person/foo + +replace github.com/person/bar => /Users/person/Projects/bar + +require ( + github.com/person/bar v1.0.0 +) + +``` + +And now when you compile this module (go install), it will use your local code rather than the other dependency. + +According to the docs, you do need to make sure that the code you’re pointing to also has a go.mod file. + +```shell +go mod edit -replace github.com/eycorsican/go-tun2socks=/path/to/my/local/github/igniter-deps/go-tun2socks +``` + +It looks everything is fine, we can push changes in your local repository to the remote one. + +In this example, the commit we just pushed is `efeee82`. + +To switch to the version over the web, a.k.a. the commit `efeee82` from module `github.com/trojan-gfw/go-tun2socks` + +```shell +go mod edit -replace github.com/eycorsican/go-tun2socks=github.com/trojan-gfw/go-tun2socks@efeee82 +``` + +To check which dependency you are truely using: + +```shell +go list -m all +``` + +#### How to make C/C++ source changes take effect + +For go tools, e.g. `gobind`, it only check `*.go` file changes. + +Please make sure to change at least one golang source by adding whitespaces or line breaks or whatever you like. + +The go tools notify `*.go` changes, it will recompile the C/C++ sources. + diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..4cdc56d --- /dev/null +++ b/go.mod @@ -0,0 +1,14 @@ +module github.com/trojan-gfw/igniter-go-libs + +go 1.13 + +replace github.com/eycorsican/go-tun2socks => github.com/trojan-gfw/go-tun2socks v1.16.3-0.20200221051310-27ffcc74da0a + +require ( + github.com/Dreamacro/clash v0.17.2-0.20200220032916-d68339cea7c9 + github.com/eycorsican/go-tun2socks v0.0.0 + github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect + github.com/sirupsen/logrus v1.4.2 + github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b + golang.org/x/sys v0.0.0-20200217220822-9197077df867 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..888d9e8 --- /dev/null +++ b/go.sum @@ -0,0 +1,69 @@ +github.com/Dreamacro/clash v0.17.2-0.20200220032916-d68339cea7c9 h1:N3iZdH5qUaHN/dUg/F7AohGvGX45g3NSfpn7czXGhPM= +github.com/Dreamacro/clash v0.17.2-0.20200220032916-d68339cea7c9/go.mod h1:m4UV1mc3xILkAEtpEeIirHkk+mYLUbCCWEe7yLfuJUs= +github.com/Dreamacro/go-shadowsocks2 v0.1.5 h1:BizWSjmwzAyQoslz6YhJYMiAGT99j9cnm9zlxVr+kyI= +github.com/Dreamacro/go-shadowsocks2 v0.1.5/go.mod h1:LSXCjyHesPY3pLjhwff1mQX72ItcBT/N2xNC685cYeU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/go-chi/chi v4.0.3+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/cors v1.0.0/go.mod h1:K2Yje0VW/SJzxiyMYu6iPQYa7hMjQX2i/F491VChg1I= +github.com/go-chi/render v1.0.1/go.mod h1:pq4Rr7HbnsdaeHagklXub+p6Wd16Af5l9koip1OvJns= +github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/miekg/dns v1.1.27 h1:aEH/kqUzUxGJ/UHcEKdJY+ugH6WEzsEBBSPa8zuy1aM= +github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/oschwald/geoip2-golang v1.4.0 h1:5RlrjCgRyIGDz/mBmPfnAF4h8k0IAcRv9PvrpOfz+Ug= +github.com/oschwald/geoip2-golang v1.4.0/go.mod h1:8QwxJvRImBH+Zl6Aa6MaIcs5YdlZSTKtzmPGzQqi9ng= +github.com/oschwald/maxminddb-golang v1.6.0 h1:KAJSjdHQ8Kv45nFIbtoLGrGWqHFajOIm7skTyz/+Dls= +github.com/oschwald/maxminddb-golang v1.6.0/go.mod h1:DUJFucBg2cvqx42YmDa/+xHvb0elJtOm3o4aFQ/nb/w= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b h1:+y4hCMc/WKsDbAPsOQZgBSaSZ26uh2afyaWeVg/3s/c= +github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b/go.mod h1:P5HUIBuIWKbyjl083/loAegFkfbFNx5i2qEP4CNbm7E= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/trojan-gfw/go-tun2socks v1.16.3-0.20200221051310-27ffcc74da0a h1:foHTOxGQV71mlhiepsGGwnkM+SJcfyZ37LUwP0qadks= +github.com/trojan-gfw/go-tun2socks v1.16.3-0.20200221051310-27ffcc74da0a/go.mod h1:w57dZZV03lMCupse6JymOuvv4O4kbyHjMuqWUTeSUaQ= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6 h1:Sy5bstxEqwwbYs6n0/pBuxKENqOeZUgD45Gp3Q3pqLg= +golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191224085550-c709ea063b76/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867 h1:JoRuNIf+rpHl+VhScRQQvzbHed86tKkqwPMV34T8myw= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/eapache/channels.v1 v1.1.0 h1:5bGAyKKvyCTWjSj7mhefG6Lc68VyN4MH1v8/7OoeeB4= +gopkg.in/eapache/channels.v1 v1.1.0/go.mod h1:BHIBujSvu9yMTrTYbTCjDD43gUhtmaOtTWDe7sTv1js= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=