hack/verify-generated-conversions.sh
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 genconversion binary..."
54fca663
 if ! buildout=`"${OS_ROOT}/hack/build-go.sh" tools/genconversion 2>&1`
43ad12ae
 then
   echo "FAILURE: Building genconversion binary failed:"
   echo "$buildout"
   exit 1
 else
   echo "$buildout" | sed 's/^/   /'
 fi
 
749428c4
 genconversion="$(os::build::find-binary genconversion)"
c3994032
 
43ad12ae
 echo "   Verifying genconversion binary..."
c3994032
 if [[ ! -x "$genconversion" ]]; then
   {
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/genconversion'."
c3994032
   } >&2
   exit 1
 fi
 
43ad12ae
 APIROOT_REL="pkg/api"
 APIROOT="${OS_ROOT}/${APIROOT_REL}"
f9a9c357
 TMP_APIROOT_REL="_output/verify-generated-conversions"
43ad12ae
 TMP_APIROOT="${OS_ROOT}/${TMP_APIROOT_REL}/${APIROOT_REL}"
 
 echo "Generating fresh conversions..."
 if ! output=`${OS_ROOT}/hack/update-generated-conversions.sh ${TMP_APIROOT_REL} 2>&1`
 then
   echo "FAILURE: Generation of fresh conversions failed:"
   echo "$output"
   exit 1
 fi
c3994032
 
f9a9c357
 rsync -au "${APIROOT}" "${TMP_APIROOT}/.."
c3994032
 
43ad12ae
 echo "Diffing current conversions against freshly generated conversions..."
c3994032
 ret=0
 diff -Naupr -I 'Auto generated by' "${APIROOT}" "${TMP_APIROOT}" || ret=$?
43ad12ae
 rm -rf "${TMP_APIROOT}"
c3994032
 if [[ $ret -eq 0 ]]
 then
43ad12ae
   echo "SUCCESS: Generated conversions up to date."
c3994032
 else
43ad12ae
   echo "FAILURE: Generated conversions out of date. Please run hack/update-generated-conversions.sh"
c3994032
   exit 1
 fi
 
 # ex: ts=2 sw=2 et filetype=sh