#!/bin/bash # ---------------------------------------------------------------------- # Helper script to analyze plugins with PHPStan # ---------------------------------------------------------------------- # Usage: # # ./phpstan.sh [plugin] [params] # [plugin] - name of the plugin to analyze (without "Bundle") # [params] - additional parameters for PHPStan, e.g. --level=7 --pro # ---------------------------------------------------------------------- phpstan() { vendor/bin/phpstan analyse -c var/plugins/$1Bundle/phpstan.neon var/plugins/$1Bundle/ ${ARGS} } if [[ -n $2 ]]; then export ARGS=$2 else export ARGS="" fi if [[ -n $1 ]]; then if [ -d "var/plugins/$1Bundle/" ]; then phpstan $1 exit elif [ "$1" == 'core' ]; then vendor/bin/phpstan analyse -c phpstan.neon ${ARGS} exit elif [ "$1" == 'test' ] || [ "$1" == 'tests' ]; then vendor/bin/phpstan analyse -c tests/phpstan.neon ${ARGS} exit else echo "Plugin $1 not found" exit 1 fi fi vendor/bin/phpstan analyse -c phpstan.neon ${ARGS} vendor/bin/phpstan analyse -c tests/phpstan.neon ${ARGS} for dir in var/plugins/*Bundle/ do echo "" echo "=======> $dir <=======" echo "" vendor/bin/phpstan analyse -c ${dir}phpstan.neon ${dir} ${ARGS} done