#!/bin/bash -l
git config --global --add safe.directory /var/www/html
ghprbActualCommit=$(git rev-parse HEAD)
masterCommit=$(git rev-parse HEAD~1)
echo Checking revision ${ghprbActualCommit}
echo against ${masterCommit}
changedFiles="$(git diff-tree --no-commit-id --name-only -r ${ghprbActualCommit} ${masterCommit})"
ignoreList=build,library/Bootstrap,library/Cron,library/GoogleApi,library/Html5,library/Ioda,library/Web/Analytics,library/Web/Accounting,library/Web/Stomp,public,vendor,frontend,vagrant_boxes,phtml
phpFiles=""
IFS=$'\n' read -rd '' -a y <<<"$changedFiles"

for i in "${y[@]}"
do
    if [ -f ${i} ] && ([ ${i: -4} == ".php" ] || [ ${i: -4} == ".inc" ] || [ ${i: -6} == ".phtml" ]); then
        phpFiles="${phpFiles}${i} "
    else
        echo "Not a php/inc/phtml file. Skipping PSR-2 check on $i"
    fi
done

if [ "${phpFiles}" ]; then
    vendor/bin/phpcs -n -v --standard=PSR2 --ignore=${ignoreList} ${phpFiles}
    returnCode=$?
    if [ ${returnCode} -ne 0 ]; then
        exit 1
    fi
fi
