#!/bin/bash DEFAULT_DIRS=( wa ) target=$1 compare_versions() { if [[ $1 == $2 ]]; then return 0 fi local IFS=. local i ver1=($1) ver2=($2) for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do ver1[i]=0 done for ((i=0; i<${#ver1[@]}; i++)); do if [[ -z ${ver2[i]} ]]; then ver2[i]=0 fi if ((10#${ver1[i]} > 10#${ver2[i]})); then return 1 fi if ((10#${ver1[i]} < 10#${ver2[i]})); then return 2 fi done return 0 } pylint_version=$(python -c 'from pylint.__pkginfo__ import version; print(version)' 2>/dev/null) if [ "x$pylint_version" == "x" ]; then pylint_version=$(python3 -c 'from pylint.__pkginfo__ import version; print(version)' 2>/dev/null) fi if [ "x$pylint_version" == "x" ]; then pylint_version=$(python3 -c 'from pylint import version; print(version)' 2>/dev/null) fi if [ "x$pylint_version" == "x" ]; then echo "ERROR: no pylint verison found; is it installed?" exit 1 fi compare_versions $pylint_version "1.9.2" result=$? if [ "$result" == "2" ]; then echo "ERROR: pylint version must be at least 1.9.2; found $pylint_version" exit 1 fi set -e THIS_DIR="`dirname \"$0\"`" CWD=$PWD pushd $THIS_DIR > /dev/null if [[ "$target" == "" ]]; then for dir in "${DEFAULT_DIRS[@]}"; do PYTHONPATH=. pylint --rcfile ../extras/pylintrc --load-plugins pylint_plugins ../$dir done else PYTHONPATH=. pylint --rcfile ../extras/pylintrc --load-plugins pylint_plugins $CWD/$target fi popd > /dev/null