#!/bin/sh # This comment is used to simplify checking local copies of the script. Bump # this number every time a significant change is made to this script. # # AdGuard-Project-Version: 6 verbose="${VERBOSE:-0}" readonly verbose if [ "$verbose" -gt '1' ]; then set -x v_flags='-v=1' x_flags='-x=1' elif [ "$verbose" -gt '0' ]; then set -x v_flags='-v=1' x_flags='-x=0' else set +x v_flags='-v=0' x_flags='-x=0' fi readonly v_flags x_flags set -e -f -u go="${GO:-go}" readonly go # Remove only the actual binaries in the bin/ directory, as developers may add # their own scripts there. Most commonly, a script named “go” for tools that # call the go binary and need a particular version. rm -f \ bin/errcheck \ bin/fieldalignment \ bin/go-junit-report \ bin/gocognit \ bin/gocyclo \ bin/gofumpt \ bin/gosec \ bin/govulncheck \ bin/ineffassign \ bin/misspell \ bin/nilness \ bin/shadow \ bin/shfmt \ bin/staticcheck \ bin/unparam \ ; # Reset GOARCH and GOOS to make sure we install the tools for the native # architecture even when we're cross-compiling the main binary, and also to # prevent the "cannot install cross-compiled binaries when GOBIN is set" error. env \ GOARCH="" \ GOBIN="${PWD}/bin" \ GOOS="" \ GOWORK='off' \ "$go" install \ --modfile=./internal/tools/go.mod \ "$v_flags" \ "$x_flags" \ github.com/fzipp/gocyclo/cmd/gocyclo \ github.com/golangci/misspell/cmd/misspell \ github.com/gordonklaus/ineffassign \ github.com/jstemmer/go-junit-report/v2 \ github.com/kisielk/errcheck \ github.com/securego/gosec/v2/cmd/gosec \ github.com/uudashr/gocognit/cmd/gocognit \ golang.org/x/tools/go/analysis/passes/fieldalignment/cmd/fieldalignment \ golang.org/x/tools/go/analysis/passes/nilness/cmd/nilness \ golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow \ golang.org/x/vuln/cmd/govulncheck \ honnef.co/go/tools/cmd/staticcheck \ mvdan.cc/gofumpt \ mvdan.cc/sh/v3/cmd/shfmt \ mvdan.cc/unparam \ ;