33 lines
971 B
Bash
33 lines
971 B
Bash
#!/usr/bin/env bash
|
|
|
|
# get bash colors and styles here:
|
|
# http://misc.flogisoft.com/bash/tip_colors_and_formatting
|
|
C_RESET='\e[0m'
|
|
C_RED='\e[31m'
|
|
C_GREEN='\e[32m'
|
|
C_YELLOW='\e[33m'
|
|
|
|
function __run() #(step, name, cmd)
|
|
{
|
|
local color output exitcode
|
|
|
|
printf "${C_YELLOW}[%s]${C_RESET} %-20s" "$1" "$2"
|
|
output=$(eval "$3" 2>&1)
|
|
exitcode=$?
|
|
|
|
if [[ 0 == $exitcode || 130 == $exitcode ]]; then
|
|
echo -e "${C_GREEN}OK!${C_RESET}"
|
|
else
|
|
echo -e "${C_RED}NOK!${C_RESET}\n\n$output"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
modified="git diff --diff-filter=M --name-only --cached | grep \".php$\""
|
|
ignore="resources/lang,resources/views,bootstrap/helpers,database/migrations,bin"
|
|
phpcs="vendor/bin/phpcs --report=code --colors --report-width=80 --ignore=${ignore}"
|
|
|
|
__run "1/2" "php lint" "${modified} | xargs -r php -l"
|
|
__run "2/2" "code sniffer" "${modified} | xargs -r ${phpcs}"
|
|
# __run "3/3" "phpstan" "${modified} | xargs -r vendor/bin/phpstan analyse"
|