mirror of
https://github.com/grafana/grafana.git
synced 2025-02-10 23:55:47 -06:00
46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function exit_if_fail {
|
|
command=$@
|
|
echo "Executing '$command'"
|
|
eval $command
|
|
rc=$?
|
|
if [ $rc -ne 0 ]; then
|
|
echo "'$command' returned $rc."
|
|
exit $rc
|
|
fi
|
|
}
|
|
|
|
go get -u github.com/alecthomas/gometalinter
|
|
go get -u github.com/jgautheron/goconst/cmd/goconst
|
|
go get -u honnef.co/go/tools/cmd/staticcheck
|
|
go get -u github.com/mgechev/revive
|
|
#go get -u github.com/securego/gosec/cmd/gosec/...
|
|
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
|
|
|
|
# use gometalinter when lints are not available in golangci or
|
|
# when gometalinter is better. Eg. goconst for gometalinter does not lint test files
|
|
# which is not desired.
|
|
exit_if_fail gometalinter --enable-gc --vendor --deadline 10m --disable-all \
|
|
--enable=goconst\
|
|
--enable=staticcheck
|
|
|
|
# use golangci-when possible
|
|
exit_if_fail golangci-lint run --deadline 10m --disable-all \
|
|
--enable=deadcode\
|
|
--enable=gofmt\
|
|
--enable=ineffassign\
|
|
--enable=structcheck\
|
|
--enable=unconvert\
|
|
--enable=varcheck
|
|
|
|
exit_if_fail go vet ./pkg/...
|
|
|
|
exit_if_fail revive -formatter stylish -config ./scripts/revive.toml
|
|
|
|
# TODO recheck the rules and leave only necessary exclusions
|
|
# exit_if_fail gosec -quiet \
|
|
# -exclude=G104,G107,G201,G202,G204,G301,G304,G401,G402,G501 \
|
|
# -conf=./scripts/gosec.json \
|
|
# ./pkg/...
|