1#!/usr/bin/env bash
2
3export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4source "${SCRIPTDIR}/.validate"
5
6IFS=$'\n'
7files=( $(validate_diff --diff-filter=ACMR --name-only -- 'api/types/' 'api/swagger.yaml' || true) )
8unset IFS
9
10if [ ${#files[@]} -gt 0 ]; then
11	${SCRIPTDIR}/../generate-swagger-api.sh 2> /dev/null
12	# Let see if the working directory is clean
13	diffs="$(git diff -- api/types/)"
14	if [ "$diffs" ]; then
15		{
16			echo 'The result of hack/generate-swagger-api.sh differs'
17			echo
18			echo "$diffs"
19			echo
20			echo 'Please update api/swagger.yaml with any api changes, then '
21			echo 'run `hack/generate-swagger-api.sh`.'
22		} >&2
23		false
24	else
25		echo 'Congratulations! All api changes are done the right way.'
26	fi
27else
28    echo 'No api/types/ or api/swagger.yaml changes in diff.'
29fi
30