127 lines
2.2 KiB
Bash
127 lines
2.2 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/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/streamformatter
|
|
pkg/stringid
|
|
pkg/stringutils
|
|
pkg/sysinfo
|
|
pkg/symlink
|
|
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
|