From 6eaca7a56496c7fba3735c310bb3a9a89c1edae1 Mon Sep 17 00:00:00 2001 From: akiyosi Date: Wed, 31 Jan 2024 16:15:43 +0900 Subject: [PATCH] Add ci job on m1 mac --- .github/workflows/ci.yaml | 89 ++++++++++++++++++++++++++++++++++----- Makefile | 17 ++++---- go.mod | 19 +++++---- go.sum | 40 +++++++++++++----- 4 files changed, 126 insertions(+), 39 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bb6eb182..8262ec5c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -129,21 +129,18 @@ jobs: # MacOS ################################################################# - test-and-build-macos: + test-and-build-macos-x86_64: strategy: matrix: go-version: [1.21.x] - platform: [macos-latest] + platform: [macos-12] runs-on: ${{ matrix.platform }} env: GOPATH: ${{ github.workspace }} - #QT_DIR: ${{ github.workspace }}/Qt QT_HOMEBREW: true QT_API: 5.13.0 QT_DEBUG: false GO111MODULE: on - QMAKE_APPLE_DEVICE_ARCHS: arm64 - # SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk steps: - name: Install Go @@ -174,7 +171,7 @@ jobs: run: | cd ${{ github.workspace }}/src/github.com/${{ github.repository }} make deps - + - name: Test run: | cd ${{ github.workspace }}/src/github.com/${{ github.repository }} @@ -188,14 +185,86 @@ jobs: - name: Archive run: | cd ${{ github.workspace }}/src/github.com/${{ github.repository }}/cmd/goneovim/deploy - mv darwin goneovim-macos - tar -jcvf goneovim-macos.tar.bz2 goneovim-macos + mv darwin goneovim-macos-x86_64 + tar -jcvf goneovim-macos-x86_64.tar.bz2 goneovim-macos-x86_64 - name: Upload for macos uses: actions/upload-artifact@v1 with: - name: goneovim-macos - path: ${{ github.workspace }}/src/github.com/${{ github.repository }}/cmd/goneovim/deploy/goneovim-macos.tar.bz2 + name: goneovim-macos-x86_64 + path: ${{ github.workspace }}/src/github.com/${{ github.repository }}/cmd/goneovim/deploy/goneovim-macos-x86_64.tar.bz2 + + + +################################################################# +# MacOS M1 +################################################################# + + test-and-build-macos-arm64: + strategy: + matrix: + go-version: [1.21.x] + platform: [macos-14] + runs-on: ${{ matrix.platform }} + env: + GOPATH: ${{ github.workspace }} + QT_HOMEBREW: true + QT_API: 5.13.0 + QT_DEBUG: false + GO111MODULE: on + QT_QMAKE_DIR: /opt/homebrew/opt/qt@5/bin + steps: + + - name: Install Go + uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go-version }} + + - name: Check Go Version + run: | + go version + + - name: Install Qt for macOS + run: | + brew install qt@5 + + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + path: ${{ env.GOPATH }}/src/github.com/${{ github.repository }} + + - name: Get Qt binding for Go + run: | + cd ${{ github.workspace }}/src/github.com/${{ github.repository }} + make qt_bindings + + - name: Get dependencies + run: | + cd ${{ github.workspace }}/src/github.com/${{ github.repository }} + make deps + + - name: Test + run: | + cd ${{ github.workspace }}/src/github.com/${{ github.repository }} + make test + + - name: Build + run: | + cd ${{ github.workspace }}/src/github.com/${{ github.repository }} + make app + + - name: Archive + run: | + cd ${{ github.workspace }}/src/github.com/${{ github.repository }}/cmd/goneovim/deploy + mv darwin goneovim-macos-arm64 + tar -jcvf goneovim-macos-arm64.tar.bz2 goneovim-macos-arm64 + + - name: Upload for macos m1 + uses: actions/upload-artifact@v1 + with: + name: goneovim-macos-arm64 + path: ${{ github.workspace }}/src/github.com/${{ github.repository }}/cmd/goneovim/deploy/goneovim-macos-arm64.tar.bz2 ################################################################# diff --git a/Makefile b/Makefile index 9d23e6c2..9fcbda3e 100644 --- a/Makefile +++ b/Makefile @@ -57,29 +57,28 @@ endif qt_bindings: ## Setup Qt bindings for Go. ifeq ($(OSNAME),Darwin) @go get -v github.com/akiyosi/qt && \ - go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20230719061055-7747cdc680f3 && \ + go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240201144258-bb6c025d926e && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 && \ - go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20230719061055-7747cdc680f3 && \ + go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240201144258-bb6c025d926e && \ go install -v -tags=no_env github.com/akiyosi/qt/cmd/... && \ go mod vendor && \ - git clone https://github.com/akiyosi/env_darwin_amd64_513.git vendor/github.com/akiyosi/env_darwin_amd64_513 $(GOQTSETUP) -test=false else ifeq ($(OSNAME),Linux) - @go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20230719061055-7747cdc680f3 && \ + @go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240201144258-bb6c025d926e && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 && \ - go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20230719061055-7747cdc680f3 && \ + go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240201144258-bb6c025d926e && \ go get -v github.com/akiyosi/qt && \ go install -v -tags=no_env github.com/akiyosi/qt/cmd/... && \ go mod vendor && \ git clone https://github.com/akiyosi/env_linux_amd64_513.git vendor/github.com/akiyosi/env_linux_amd64_513 $(GOQTSETUP) -test=false else ifeq ($(OSNAME),FreeBSD) - @go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20230719061055-7747cdc680f3 && \ + @go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240201144258-bb6c025d926e && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 && \ go get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 && \ - go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20230719061055-7747cdc680f3 && \ + go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240201144258-bb6c025d926e && \ go get -v github.com/akiyosi/qt && \ go install -v -tags=no_env github.com/akiyosi/qt/cmd/... && \ go mod vendor && \ @@ -87,10 +86,10 @@ else ifeq ($(OSNAME),FreeBSD) $(GOQTSETUP) -test=false else ifeq ($(OSNAME),Windows) @go.exe get -v github.com/akiyosi/qt && \ - go.exe get github.com/akiyosi/qt/internal/cmd@v0.0.0-20230719061055-7747cdc680f3 && \ + go.exe get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240201144258-bb6c025d926e && \ go.exe get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 && \ go.exe get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 && \ - go.exe get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20230719061055-7747cdc680f3 && \ + go.exe get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240201144258-bb6c025d926e && \ go.exe install -v -tags=no_env github.com/akiyosi/qt/cmd/... && \ go.exe mod vendor && \ git.exe clone https://github.com/akiyosi/env_windows_amd64_513.git vendor/github.com/akiyosi/env_windows_amd64_513 diff --git a/go.mod b/go.mod index 77edd3c6..b2b48965 100644 --- a/go.mod +++ b/go.mod @@ -1,27 +1,28 @@ module github.com/akiyosi/goneovim -go 1.20 +go 1.21.4 require ( github.com/BurntSushi/toml v1.3.2 github.com/akiyosi/goqtframelesswindow v0.0.0-20230716140237-a341d42df3c8 - github.com/akiyosi/qt v0.0.0-20230719061055-7747cdc680f3 + github.com/akiyosi/qt v0.0.0-20240201144258-bb6c025d926e github.com/akiyosi/short_path v0.2.1 github.com/atotto/clipboard v0.1.4 github.com/bluele/gcache v0.0.2 github.com/jessevdk/go-flags v1.5.0 - github.com/mattn/go-isatty v0.0.19 + github.com/mattn/go-isatty v0.0.20 github.com/mitchellh/go-homedir v1.1.0 github.com/neovim/go-client v1.2.2-0.20230716041012-dd77a916541b ) require ( - github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20230719061055-7747cdc680f3 // indirect - github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20230719061055-7747cdc680f3 // indirect + github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240201144258-bb6c025d926e // indirect + github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240201144258-bb6c025d926e // indirect github.com/akiyosi/w32 v0.0.0-20221111133244-de73be0c7b36 // indirect - github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect - github.com/sirupsen/logrus v1.4.1 // indirect + github.com/gopherjs/gopherjs v1.17.2 // indirect + github.com/sirupsen/logrus v1.8.1 // indirect + golang.org/x/mod v0.4.2 // indirect golang.org/x/sys v0.6.0 // indirect - golang.org/x/tools v0.0.0-20190420181800-aa740d480789 // indirect + golang.org/x/tools v0.1.5 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect ) diff --git a/go.sum b/go.sum index b1a03bb2..7259908f 100644 --- a/go.sum +++ b/go.sum @@ -2,12 +2,12 @@ github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8 github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/akiyosi/goqtframelesswindow v0.0.0-20230716140237-a341d42df3c8 h1:yOqvoxofnHODBxSo9/l030IFNPJ7H/cKyzycHj+LkJQ= github.com/akiyosi/goqtframelesswindow v0.0.0-20230716140237-a341d42df3c8/go.mod h1:739mXLJTAy19GBfA3Z2gitVRHX5NVqrVqygAMPVB21E= -github.com/akiyosi/qt v0.0.0-20230719061055-7747cdc680f3 h1:S1QcbpgrpaJ0XbcNEMhJthmqrqtc7sEfYCqOA5UoVrs= -github.com/akiyosi/qt v0.0.0-20230719061055-7747cdc680f3/go.mod h1:/M/wktam+Uyed7ahwhO+8zsEAe3FWZGA8eq5Sh+QePA= -github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20230719061055-7747cdc680f3 h1:CxbG3v48jGLCIMAEbi93USqKgRidyTQ6phy5K9ZDl+E= -github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20230719061055-7747cdc680f3/go.mod h1:o1Ta8fcOD7ED+UFh1S2sJGmMYyZgY/0Nhqkayiw9EOI= -github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20230719061055-7747cdc680f3 h1:4rrVdzbWIPr/GnF8XiDKvfUT4hi1Pqbo6WxT4JqK3W0= -github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20230719061055-7747cdc680f3/go.mod h1:zr7ZzZXZ4UI9WpxGsiaq0S9OHCjo+H/7vU2Oyi6RRWw= +github.com/akiyosi/qt v0.0.0-20240201144258-bb6c025d926e h1:kpGg+ZGWKEasEkZ+iyIGti4HRgouHKXuZQ3FqMrr/v4= +github.com/akiyosi/qt v0.0.0-20240201144258-bb6c025d926e/go.mod h1:/M/wktam+Uyed7ahwhO+8zsEAe3FWZGA8eq5Sh+QePA= +github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240201144258-bb6c025d926e h1:pZwL6t9Jp28y6i9YPTr/jcrqoTZHBnHJjawRVmgZoSc= +github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240201144258-bb6c025d926e/go.mod h1:o1Ta8fcOD7ED+UFh1S2sJGmMYyZgY/0Nhqkayiw9EOI= +github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240201144258-bb6c025d926e h1:6MITw2dvkzF3SJCNgT4t8cfdCGoDNX6J79SZYrvJ6lU= +github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240201144258-bb6c025d926e/go.mod h1:zr7ZzZXZ4UI9WpxGsiaq0S9OHCjo+H/7vU2Oyi6RRWw= github.com/akiyosi/short_path v0.2.1 h1:1IiEQDNISfLOzs8A4+95vSgAN1Ch2IQY4wUpjZzWU/U= github.com/akiyosi/short_path v0.2.1/go.mod h1:9ZdnJCTktFi81KorFR9Zihrn8pmRD1UIx0HjASMCu1U= github.com/akiyosi/w32 v0.0.0-20221111133244-de73be0c7b36 h1:anLmpiDCKkXZv9D7iYznS3dkYS1BPlaMVGy+65azxj8= @@ -20,22 +20,26 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e h1:XWcjeEtTFTOVA9Fs1w7n2XBftk5ib4oZrhzWk0B+3eA= github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= 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/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/neovim/go-client v1.2.1 h1:kl3PgYgbnBfvaIoGYi3ojyXH0ouY6dJY/rYUCssZKqI= github.com/neovim/go-client v1.2.1/go.mod h1:EeqCP3z1vJd70JTaH/KXz9RMZ/nIgEFveX83hYnh/7c= +github.com/neovim/go-client v1.2.2-0.20220415170422-ef8a8cf9c522 h1:JE6/8mKKDKjUYBUTgSM91uE5ocmvWHKTvxCEI9GFVV0= +github.com/neovim/go-client v1.2.2-0.20220415170422-ef8a8cf9c522/go.mod h1:UBsOERb5epbeQT0nyPTZkmUPTffRYBcHvrXXidr1NQQ= github.com/neovim/go-client v1.2.2-0.20230716041012-dd77a916541b h1:JDchP8fWykRzJLiq5cUQ47vKkP8UY0I1yzgGDTSpYRI= github.com/neovim/go-client v1.2.2-0.20230716041012-dd77a916541b/go.mod h1:UBsOERb5epbeQT0nyPTZkmUPTffRYBcHvrXXidr1NQQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= 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/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -43,15 +47,29 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/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/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789 h1:FF0rjo15h51+N6642mf5S3QuplmKo2aCrJUYkHTx85s= golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=