1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/hack/make/validate-lint
Arnaud Porterie 6cce8d1838 Add golint to the development toolbox
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>
2015-07-21 09:00:36 -07:00

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