9c240aed8e
Signed-off-by: Steve Milner <smilner@redhat.com>
44 lines
1.4 KiB
Bash
Executable file
44 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
# Create the linter path for use later
|
|
LINTER=${GOPATH}/bin/gometalinter
|
|
|
|
# Make sure gometalinter is installed
|
|
if [ ! -f ${LINTER} ]; then
|
|
echo >&2 "gometalinter must be installed. Please run 'make install.tools' and try again"
|
|
exit 1
|
|
fi
|
|
|
|
PKGS=$(find . -type d -not -path . -a -not -iwholename '*.git*' -a -not -iname '.tool' -a -not -iwholename '*vendor*' -a -not -iname 'hack' -a -not -iwholename '*.artifacts*' -a -not -iwholename '*contrib*' -a -not -iwholename '*test*' -a -not -iwholename '*logo*' -a -not -iwholename '*conmon*' -a -not -iwholename '*completions*' -a -not -iwholename '*docs*' -a -not -iwholename '*pause*')
|
|
|
|
# Execute the linter
|
|
${LINTER} \
|
|
--concurrency=4\
|
|
--enable-gc\
|
|
--vendored-linters\
|
|
--deadline=600s --disable-all\
|
|
--enable=deadcode\
|
|
--enable=errcheck\
|
|
--enable=goconst\
|
|
--enable=gofmt\
|
|
--enable=golint\
|
|
--enable=ineffassign\
|
|
--enable=interfacer\
|
|
--enable=megacheck\
|
|
--enable=misspell\
|
|
--enable=structcheck\
|
|
--enable=varcheck\
|
|
--enable=vet\
|
|
--enable=vetshadow\
|
|
--exclude='error return value not checked.*\(errcheck\)$'\
|
|
--exclude='declaration of.*err.*shadows declaration.*\(vetshadow\)$'\
|
|
--exclude='.*_test\.go:.*error return value not checked.*\(errcheck\)$'\
|
|
--exclude='duplicate of.*_test.go.*\(dupl\)$'\
|
|
--exclude='cmd\/client\/.*\.go.*\(dupl\)$'\
|
|
--exclude='vendor\/.*'\
|
|
--exclude='server\/seccomp\/.*\.go.*$'\
|
|
${PKGS[@]}
|