2021-09-07 21:16:47 +01:00
|
|
|
#!/usr/bin/env sh
|
2020-03-15 21:21:11 +00:00
|
|
|
|
2020-11-06 16:50:42 +00:00
|
|
|
root="$(git rev-parse --show-toplevel)"
|
2020-03-15 21:21:11 +00:00
|
|
|
|
2021-12-26 09:49:03 +00:00
|
|
|
# get the list of changed files that didn't get only partially added
|
2021-07-26 16:45:37 +01:00
|
|
|
staged_files="$(git status --porcelain | sed -rn "s/^[^ ][ ] (.*)/\1/p")"
|
2020-03-15 21:21:11 +00:00
|
|
|
|
2021-09-08 20:57:30 +01:00
|
|
|
if (! (: "${SKIP_ALL?}") 2>/dev/null) && (! (: "${SKIP_CS_FIX?}") 2>/dev/null); then
|
2021-12-26 15:13:37 +00:00
|
|
|
echo "Running php-cs-fixer on edited files"
|
2021-09-08 20:57:30 +01:00
|
|
|
for staged in ${staged_files}; do
|
|
|
|
# work only with existing files
|
2021-09-09 00:40:34 +01:00
|
|
|
if [ -f "${staged}" ] && expr "${staged}" : '^.*\.php$' > /dev/null; then
|
2021-09-08 20:57:30 +01:00
|
|
|
# use php-cs-fixer and get flag of correction
|
2021-12-26 15:13:37 +00:00
|
|
|
CS_FIXER_FILE="${staged}" make cs-fixer
|
|
|
|
git add "${staged}"
|
2020-03-15 21:21:11 +00:00
|
|
|
fi
|
2021-09-08 20:57:30 +01:00
|
|
|
done
|
2021-04-16 16:52:47 +01:00
|
|
|
fi
|
2020-11-06 16:50:42 +00:00
|
|
|
|
2021-09-08 20:57:30 +01:00
|
|
|
if (! (: "${SKIP_ALL?}") 2>/dev/null) && (! (: "${SKIP_DOC_CHECK?}") 2>/dev/null); then
|
2021-12-25 14:26:59 +00:00
|
|
|
if echo "${staged_files}" | grep -F ".php" > /dev/null 2>&1; then
|
2021-12-26 09:49:03 +00:00
|
|
|
echo "Running php-doc-checker"
|
|
|
|
make doc-check < /dev/tty
|
2021-09-08 20:57:30 +01:00
|
|
|
fi
|
|
|
|
fi
|
2021-09-06 18:45:14 +01:00
|
|
|
|
2021-09-08 20:57:30 +01:00
|
|
|
if (! (: "${SKIP_ALL?}") 2>/dev/null) && (! (: "${SKIP_PHPSTAN?}") 2>/dev/null); then
|
|
|
|
echo "Running phpstan"
|
2021-09-09 00:40:34 +01:00
|
|
|
make phpstan
|
2021-09-08 20:57:30 +01:00
|
|
|
fi
|
2021-09-06 18:45:14 +01:00
|
|
|
|
2020-11-06 16:50:42 +00:00
|
|
|
# Only commit if there wasn't an error
|
|
|
|
exit $?
|