mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 22:46:12 +00:00
commit
60af857077
16
Makefile
16
Makefile
@ -51,3 +51,19 @@ clean:
|
|||||||
rm -rf $(OUT_DIR)
|
rm -rf $(OUT_DIR)
|
||||||
rm -rf $(GODEPS_PKG_DIR)
|
rm -rf $(GODEPS_PKG_DIR)
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
||||||
|
# Run 'go vet'.
|
||||||
|
#
|
||||||
|
# Args:
|
||||||
|
# WHAT: Directory names to vet. All *.go files under these
|
||||||
|
# directories will be vetted. If not specified, "everything" will be
|
||||||
|
# vetted.
|
||||||
|
# TESTS: Same as WHAT.
|
||||||
|
# GOFLAGS: Extra flags to pass to 'go' when building.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# make vet
|
||||||
|
# make vet WHAT=pkg/kubelet
|
||||||
|
vet:
|
||||||
|
hack/vet-go.sh $(WHAT) $(TESTS)
|
||||||
|
.PHONY: vet
|
||||||
|
62
hack/vet-go.sh
Executable file
62
hack/vet-go.sh
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright 2014 Google Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||||
|
|
||||||
|
# Set the environment variables required by the build.
|
||||||
|
source "${KUBE_ROOT}/hack/config-go.sh"
|
||||||
|
|
||||||
|
# Go to the top of the tree.
|
||||||
|
cd "${KUBE_REPO_ROOT}"
|
||||||
|
|
||||||
|
# Check for `go` binary and set ${GOPATH}.
|
||||||
|
kube::setup_go_environment
|
||||||
|
|
||||||
|
# Use eval to preserve embedded quoted strings.
|
||||||
|
eval "goflags=(${GOFLAGS:-})"
|
||||||
|
|
||||||
|
# Filter out arguments that start with "-" and move them to goflags.
|
||||||
|
targets=()
|
||||||
|
for arg; do
|
||||||
|
if [[ "${arg}" == -* ]]; then
|
||||||
|
goflags+=("${arg}")
|
||||||
|
else
|
||||||
|
targets+=("${arg}")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "${targets[@]+set}" != "set" ]]; then
|
||||||
|
targets=("...")
|
||||||
|
fi
|
||||||
|
|
||||||
|
rc=0
|
||||||
|
# Filter silly "exit status 1" lines and send main output to stdout.
|
||||||
|
# This is tricky - pipefail means any non-zero exit in a pipeline is reported,
|
||||||
|
# and errexit exits on error. Turning that into an || expression blocks the
|
||||||
|
# errexit. But $? is still not useful because grep will return an error when it
|
||||||
|
# receives no input, which is exactly what go vet produces on success. In short,
|
||||||
|
# if go vet fails (produces output), grep will succeed, but if go vet succeeds
|
||||||
|
# (produces no output) grep will fail. Then we just look at PIPESTATUS[0] which
|
||||||
|
# is go's exit code.
|
||||||
|
go vet "${goflags[@]:+${goflags[@]}}" "${targets[@]/#/./}" 2>&1 \
|
||||||
|
| grep -v "^exit status " \
|
||||||
|
|| rc=${PIPESTATUS[0]}
|
||||||
|
exit "${rc}"
|
Loading…
Reference in New Issue
Block a user