Fix new hooks

This commit is contained in:
Dennis Eichhorn 2018-08-11 11:56:24 +02:00
parent 25f09e7d5a
commit d8750c90dd
6 changed files with 44 additions and 35 deletions

View File

@ -5,13 +5,15 @@
. ${rootpath}/Build/Hooks/filename.sh
. ${rootpath}/Build/Hooks/tests.sh
set -e
git diff --cached --name-only | while read FILE; do
if [[ ! -f "$FILE" ]]; then
continue
fi
# Filename
if [[ ! $(isValidFileName "$FILE") ]]; then
if [[ $(isValidFileName "$FILE") = 1 ]]; then
echo -e "\e[1;31m\tInvalid file name '$FILE'.\e[0m" >&2
exit 1
fi
@ -22,16 +24,16 @@ git diff --cached --name-only | while read FILE; do
fi
if [[ "$FILE" =~ ^.+(js)$ ]] && [[ $(hasJsLogging "$FILE") = 1 ]]; then
echo -e "\e[1;33m\tWarning, the commit contains a call to console.log() in '$1'. Commit was not aborted, however.\e[0m" >&2
echo -e "\e[1;33m\tWarning, the commit contains a call to console.log() in '$FILE'. Commit was not aborted, however.\e[0m" >&2
fi
# Tests
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ ! $(isPhanTestSuccessfull "$FILE") ]]; then
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ $(isPhanTestSuccessfull "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tPhan error.\e[0m" >&2
exit 1
fi
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ ! $(isPhpStanTestSuccessfull "$FILE") ]]; then
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ $(isPhpStanTestSuccessfull "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tPhp stan error.\e[0m" >&2
exit 1
fi
@ -56,23 +58,26 @@ git diff --cached --name-only | while read FILE; do
fi
fi
if [[ "$FILE" =~ ^.+(sh)$ ]] && [[ ! $(isValidBashScript "$FILE") ]]; then
echo -e "\e[1;31m\tBash linting error.\e[0m" >&2
if [[ "$FILE" =~ ^.+(sh)$ ]] && [[ $(isValidBashScript "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tBash linting error in '$FILE'.\e[0m" >&2
exit 1
fi
if [[ "$FILE" =~ ^.+(sh|js|php|json|css)$ ]]; then
echo 1
GEN_SYNTAX=$(hasInvalidBasicSyntax "$FILE")
echo 2
if [[ $GEN_SYNTAX = 1 ]]; then
echo -e "\e[1;31m\tFound whitespace at end of line in $1.\e[0m" >&2
grep -P ' $' $1 >&2
echo -e "\e[1;31m\tFound whitespace at end of line in $FILE.\e[0m" >&2
grep -P ' $' $FILE >&2
exit 1
fi
if [[ $GEN_SYNTAX = 2 ]]; then
echo -e "\e[1;31m\tFound tab instead of whitespace $1.\e[0m" >&2
grep -P '\t' $1 >&2
echo -e "\e[1;31m\tFound tab instead of whitespace $FILE.\e[0m" >&2
grep -P '\t' $FILE >&2
exit 1
fi
fi

View File

@ -6,14 +6,14 @@ hasPhpLogging() {
return 1
fi
return 0;
return 0
}
hasJsLogging() {
RESULT=$(grep "console.log(" "$1")
if [ ! -z $RESULT ]; then
return 1;
return 1
fi
return 0;
return 0
}

View File

@ -3,17 +3,17 @@
isPhanTestSuccessfull() {
php -d memory_limit=4G ${rootpath}/vendor/bin/phan -k ${rootpath}/Build/Config/phan.php -f "$1"
if [ $? -ne 0 ]; then
return 0;
return 0
fi
return 1;
return 1
}
isPhpStanTestSuccessfull() {
php -d memory_limit=4G ${rootpath}/vendor/bin/phpstan analyse --autoload-file=${rootpath}/phpOMS/Autoloader.php -l 7 -c ${rootpath}/Build/Config/phpstan.neon "$1"
if [ $? -ne 0 ]; then
return 0;
return 0
fi
return 1;
return 1
}

View File

@ -5,14 +5,18 @@
. ${rootpath}/Build/Hooks/filename.sh
. ${rootpath}/Build/Hooks/tests.sh
set -e
rootpath="$(pwd)"
echo $rootpath
($(git diff --name-only $TRAVIS_COMMIT_RANGE)) | while read FILE; do
if [[ ! -f "$FILE" ]]; then
continue
fi
# Filename
if [[ ! $(isValidFileName "$FILE") = 1]]; then
echo -e "\e[1;31m\tInvalid file name.\e[0m" >&2
if [[ $(isValidFileName "$FILE") = 1 ]]; then
echo -e "\e[1;31m\tInvalid file name '$FILE'.\e[0m" >&2
exit 1
fi
@ -26,12 +30,12 @@
fi
# Tests
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ ! $(isPhanTestSuccessfull "$FILE")]]; then
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ $(isPhanTestSuccessfull "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tPhan error.\e[0m" >&2
exit 1
fi
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ ! $(isPhpStanTestSuccessfull "$FILE")]]; then
if [[ "$FILE" =~ ^.+(php)$ ]] && [[ $(isPhpStanTestSuccessfull "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tPhp stan error.\e[0m" >&2
exit 1
fi
@ -56,8 +60,8 @@
fi
fi
if [[ "$FILE" =~ ^.+(sh)$ ]] && [[ ! $(isValidBashScript "$FILE")]]; then
echo -e "\e[1;31m\tBash linting error.\e[0m" >&2
if [[ "$FILE" =~ ^.+(sh)$ ]] && [[ $(isValidBashScript "$FILE") = 0 ]]; then
echo -e "\e[1;31m\tBash linting error in '$FILE'.\e[0m" >&2
exit 1
fi