#!/usr/bin/env bash set -o errexit set -o pipefail set -o nounset SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"; export SCRIPTDIR source "${SCRIPTDIR}/.validate" # Iterate over all directories containing templates folders. IFS=$'\n' files=( $(validate_diff --diff-filter=ACMR --name-only -- templates || true) ) if [[ ${#files[@]} -gt 0 ]]; then echo "checking autogen is up-to-date with templates..." go generate >/dev/null # Let see if the working directory is clean diffs="$(git status --porcelain -- autogen 2>/dev/null)" if [[ "$diffs" ]]; then { echo "The result of 'go generate' differs" echo echo "$diffs" echo echo 'Please do "go generate" to update the `autogen` package.' echo } >&2 exit 2 fi fi echo 'Congratulations! All autogen changes are done the right way.'