AdGuardHome/scripts/make/go-tools.sh
Ainar Garipov ac5a96fada Pull request 2302: upd-all
Squashed commit of the following:

commit f920006277f39b74c803139af2a9039aa45effae
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Nov 8 16:14:41 2024 +0300

    all: fix pre-commit; upd dnsproxy

commit 391f79b244
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Nov 7 18:53:28 2024 +0300

    scripts: imp install

commit 35324db80b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Nov 7 18:20:23 2024 +0300

    all: imp docs, scripts

commit d2724cfaef
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Nov 7 17:26:23 2024 +0300

    all: upd go, deps, tools, scripts
2024-11-08 17:18:16 +03:00

79 lines
1.9 KiB
Bash

#!/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 \
;