c3994032 |
#!/bin/bash
|
6daa7f71 |
set -o errexit |
c3994032 |
set -o nounset
set -o pipefail
OS_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${OS_ROOT}/hack/common.sh"
cd "${OS_ROOT}"
|
43ad12ae |
echo "===== Verifying Generated Conversions ====="
echo "Building gendeepcopy binary..." |
54fca663 |
if ! buildout=`"${OS_ROOT}/hack/build-go.sh" tools/gendeepcopy 2>&1` |
43ad12ae |
then
echo "FAILURE: Building gendeepcopy binary failed:"
echo "$buildout"
exit 1
else
echo "$buildout" | sed 's/^/ /'
fi
|
749428c4 |
gendeepcopy="$(os::build::find-binary gendeepcopy)" |
43ad12ae |
echo " Verifying gendeepcopy binary..."
if [[ ! -x "$gendeepcopy" ]]; then |
c3994032 |
{ |
43ad12ae |
echo "FAILURE: It looks as if you don't have a compiled conversion binary."
echo "If you are running from a clone of the git repo, please run:" |
54fca663 |
echo "'./hack/build-go.sh tools/gendeepcopy'." |
c3994032 |
} >&2
exit 1
fi
|
43ad12ae |
APIROOT_REL="pkg/api"
APIROOT="${OS_ROOT}/${APIROOT_REL}" |
f9a9c357 |
TMP_APIROOT_REL="_output/verify-generated-deep-copies" |
43ad12ae |
TMP_APIROOT="${OS_ROOT}/${TMP_APIROOT_REL}/${APIROOT_REL}"
echo "Generating fresh deep copies..."
if ! output=`${OS_ROOT}/hack/update-generated-deep-copies.sh ${TMP_APIROOT_REL} 2>&1`
then
echo "FAILURE: Generating fresh deep copies failed:"
echo "$output"
exit 1
fi |
c3994032 |
|
f9a9c357 |
rsync -au "${APIROOT}" "${TMP_APIROOT}/.." |
c3994032 |
|
43ad12ae |
echo "Diffing current deep copies against freshly generated deep copies..." |
c3994032 |
ret=0 |
43ad12ae |
diff -Nauprq -I 'Auto generated by' "${APIROOT}" "${TMP_APIROOT}" || ret=$?
rm -rf "${TMP_APIROOT}" |
c3994032 |
if [[ $ret -eq 0 ]]
then |
43ad12ae |
echo "SUCCESS: Current deep copies up to date." |
c3994032 |
else |
43ad12ae |
echo "FAILURE: Current deep copies out of date. Please run hack/update-generated-deep-copies.sh" |
c3994032 |
exit 1
fi
# ex: ts=2 sw=2 et filetype=sh |