diff --git a/hack/.spelling_failures b/hack/.spelling_failures new file mode 100644 index 00000000000..7268a1f6692 --- /dev/null +++ b/hack/.spelling_failures @@ -0,0 +1,19 @@ +BUILD +CHANGELOG +OWNERS +api.pb.go +api.proto +docs/api-reference +docs/man +docs/user-guide +generated.pb.go +generated.proto +pkg/client/clientset_generated +pkg/client/informers/informers_generated/ +pkg/generated +swagger +test/e2e/generated +third_party/ +translations/ +vendor/ +zz_generated diff --git a/hack/make-rules/verify.sh b/hack/make-rules/verify.sh index 8e81a624045..0ba36b3d532 100755 --- a/hack/make-rules/verify.sh +++ b/hack/make-rules/verify.sh @@ -45,6 +45,7 @@ QUICK_PATTERNS+=( "verify-imports.sh" "verify-pkg-names.sh" "verify-readonly-packages.sh" + "verify-spelling.sh" "verify-staging-client-go.sh" "verify-test-images.sh" "verify-test-owners.sh" diff --git a/hack/verify-spelling.sh b/hack/verify-spelling.sh new file mode 100755 index 00000000000..fdd7ba9ef29 --- /dev/null +++ b/hack/verify-spelling.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +export KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. +source "${KUBE_ROOT}/hack/lib/init.sh" + +# Install tools we need, but only from vendor/... +cd ${KUBE_ROOT} +go install ./vendor/github.com/client9/misspell/cmd/misspell +if ! which misspell >/dev/null 2>&1; then + echo "Can't find misspell - is your GOPATH 'bin' in your PATH?" >&2 + echo " GOPATH: ${GOPATH}" >&2 + echo " PATH: ${PATH}" >&2 + exit 1 +fi + +# Spell checking +# All the skipping files are defined in hack/.spelling_failures +skipping_file="${KUBE_ROOT}/hack/.spelling_failures" +failing_packages=$(echo `cat ${skipping_file}` | sed "s| | -e |g") +git ls-files | grep -v -e ${failing_packages} | xargs misspell -i "Creater,creater,ect" -error -o stderr