moby--moby/hack/make/validate-lint

130 lines
2.3 KiB
Bash

#!/bin/bash
source "${MAKEDIR}/.validate"
# We will eventually get to the point when packages should be the complete list
# of subpackages, vendoring excluded, as given by:
#
# packages=( $(go list ./... 2> /dev/null | grep -vE "^github.com/docker/docker/vendor" || true ) )
packages=(
api
api/client
api/client/ps
api/server
api/types
builder
builder/command
builder/parser
builder/parser/dumper
cliconfig
daemon/events
daemon/execdriver
daemon/execdriver/execdrivers
daemon/execdriver/lxc
daemon/execdriver/native
daemon/execdriver/native/template
daemon/execdriver/windows
daemon/graphdriver
daemon/graphdriver/aufs
daemon/graphdriver/devmapper
daemon/graphdriver/overlay
daemon/graphdriver/vfs
daemon/graphdriver/zfs
daemon/logger
daemon/logger/fluentd
daemon/logger/gelf
daemon/logger/journald
daemon/logger/jsonfilelog
daemon/logger/syslog
daemon/network
docker
dockerinit
graph
graph/tags
image
integration-cli
pkg/archive
pkg/broadcastwriter
pkg/chrootarchive
pkg/directory
pkg/fileutils
pkg/graphdb
pkg/homedir
pkg/httputils
pkg/ioutils
pkg/jsonlog
pkg/jsonmessage
pkg/listenbuffer
pkg/mflag
pkg/mflag/example
pkg/mount
pkg/namesgenerator
pkg/nat
pkg/parsers
pkg/parsers/filters
pkg/parsers/kernel
pkg/parsers/operatingsystem
pkg/pidfile
pkg/plugins
pkg/pools
pkg/progressreader
pkg/promise
pkg/proxy
pkg/pubsub
pkg/random
pkg/reexec
pkg/signal
pkg/sockets
pkg/stdcopy
pkg/streamformatter
pkg/stringid
pkg/stringutils
pkg/symlink
pkg/sysinfo
pkg/system
pkg/tailfile
pkg/tarsum
pkg/term
pkg/timeoutconn
pkg/timeutils
pkg/tlsconfig
pkg/truncindex
pkg/urlutil
pkg/ulimit
pkg/units
pkg/useragent
pkg/version
registry
runconfig
utils
volume
volume/local
volume/drivers
)
errors=()
for p in "${packages[@]}"; do
# Run golint on package/*.go file explicitly to validate all go files
# and not just the ones for the current platform.
failedLint=$(golint "$p"/*.go)
if [ "$failedLint" ]; then
errors+=( "$failedLint" )
fi
done
if [ ${#errors[@]} -eq 0 ]; then
echo 'Congratulations! All Go source files have been linted.'
else
{
echo "Errors from golint:"
for err in "${errors[@]}"; do
echo "$err"
done
echo
echo 'Please fix the above errors. You can test via "golint" and commit the result.'
echo
} >&2
false
fi