mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
6cce8d1838
Add golint to the Dockerfile, and a `validate-lint` task to the Makefile. Currently, the linter will process a harcoded list of packages that will expand as we fix more warnings. Eventually, the linter should process all subpackages of the repo (excluding vendored code). Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
51 lines
1,004 B
Bash
51 lines
1,004 B
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:
|
|
# go list ./... | grep -v "^github.com/docker/docker/vendor"
|
|
packages=(
|
|
builder/parser/dumper
|
|
daemon/events
|
|
daemon/execdriver/native/template
|
|
daemon/network
|
|
cliconfig
|
|
docker
|
|
dockerinit
|
|
pkg/chrootarchive
|
|
pkg/directory
|
|
pkg/fileutils
|
|
pkg/homedir
|
|
pkg/listenbuffer
|
|
pkg/mflag/example
|
|
pkg/promise
|
|
pkg/pubsub
|
|
pkg/random
|
|
pkg/symlink
|
|
pkg/timeutils
|
|
pkg/tlsconfig
|
|
pkg/urlutil
|
|
pkg/version
|
|
)
|
|
|
|
errors=()
|
|
for p in "$packages"; do
|
|
failedLint=$(golint "github.com/docker/docker/$p")
|
|
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:"
|
|
echo "${errors[@]}"
|
|
echo
|
|
echo 'Please fix the above errors. You can test via "golint" and commit the result.'
|
|
echo
|
|
} >&2
|
|
false
|
|
fi
|