From 2b9022cf3852f2accdfe15dea34e8f62714d19c4 Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Thu, 5 Jul 2018 14:06:54 -0700 Subject: [PATCH] Add script to verify generated files --- hack/make-rules/verify.sh | 1 - hack/verify-generated-files.sh | 47 ++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100755 hack/verify-generated-files.sh diff --git a/hack/make-rules/verify.sh b/hack/make-rules/verify.sh index 75fc4083eae..1492fb850db 100755 --- a/hack/make-rules/verify.sh +++ b/hack/make-rules/verify.sh @@ -40,7 +40,6 @@ QUICK_PATTERNS+=( "verify-api-groups.sh" "verify-bazel.sh" "verify-boilerplate.sh" - "verify-generated-files-remake" "verify-godep-licenses.sh" "verify-gofmt.sh" "verify-imports.sh" diff --git a/hack/verify-generated-files.sh b/hack/verify-generated-files.sh new file mode 100755 index 00000000000..d813e54bed0 --- /dev/null +++ b/hack/verify-generated-files.sh @@ -0,0 +1,47 @@ +#!/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" + +_tmpdir="$(kube::realpath $(mktemp -d -t verify-generated-files.XXXXXX))" +kube::util::trap_add "rm -rf ${_tmpdir}" EXIT + +_tmp_gopath="${_tmpdir}/go" +_tmp_kuberoot="${_tmp_gopath}/src/k8s.io/kubernetes" +mkdir -p "${_tmp_kuberoot}/.." +cp -a "${KUBE_ROOT}" "${_tmp_kuberoot}/.." + +cd "${_tmp_kuberoot}" + +# clean out anything from the temp dir that's not checked in +git clean -ffxd +# regenerate any generated code +make generated_files + +diff=$(git diff --name-only) + +if [[ -n "${diff}" ]]; then + echo "!!! Generated code is out of date:" >&2 + echo "${diff}" >&2 + echo >&2 + echo "Please run make generated_files." >&2 + exit 1 +fi