#!/bin/bash
# this bash script will loop through all the .sh files under bin
# execute the script and check the result (exit code) to see if
# there's any error

echo "IMPORTANT: this script should be run by the CI (e.g. Shippable) only. There's no need to run this script to update Petstore samples for all generators."
echo "Please press CTRL+C to stop or the script will continue in 10 seconds."

sleep 10

successes=0
failures=0
for SCRIPT in $(ls -l ./bin/*.sh | grep -v all)
do
    if [ -f ${SCRIPT} -a -x ${SCRIPT} ]; then
        echo "Running $SCRIPT (output to /dev/null)"
        ${SCRIPT} 2>&1 > /dev/null
        rc=$?
        if [[ ${rc} != 0 ]]; then
            >&2 echo "ERROR!! FAILED TO RUN ${SCRIPT}"
            ((failures+=1))
        else
            ((successes+=1))
        fi
    fi
done

if (( failures > 0 )); then
   >&2 echo "[ERROR] ${failures} out of $((failures+successes)) scripts failed."
   exit 1
else
    echo "[SUCCESS] ${successes} generators finished."
fi
