You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

81 lines
2.2 KiB

#!/usr/bin/env bash
# MIT License Copyright (c) 2021, Ukraine, Kyiv, Mykyta Solomko <sev@nix.org.ua>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is furnished
# to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
# OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
PLUGIN_TYPE=${PLUGIN_TYPE:-phpcs}
_LINTER=${_LINTER:-phpcs}
case "${PLUGIN_TYPE}" in
php-cs-fix|php-cs-fixer|cs-fix|cs-fixer)
_LINTER=php-cs-fixer
;;
*)
:
;;
esac
#
# Include common library
#
if [[ -f /usr/local/share/lint/lint-common.sh ]]; then
# shellcheck disable=SC1091
source /usr/local/share/lint/lint-common.sh
else
echo "Failed to include lint-common.sh" 1>&2
exit 1
fi
before_script
build_file_list
_lint_php()
{
if [[ ${_LINTER} == php-cs-fixer ]]; then
# We need globing and word splitting
# shellcheck disable=SC2068
php-cs-fixer fix --ansi --dry-run --diff ${EXTRA_ARGS[@]} ${@}
else
# We need globing and word splitting
# shellcheck disable=SC2068
phpcs -s --colors ${EXTRA_ARGS[@]} ${@}
fi
return ${?}
}
#
# Check files
#
while read -r _php_file; do
_lint_php "${_php_file}" \
|| RET=${?}
done < "${_CHECK_FILES}"
#
# Check dirs
#
while read -r _php_dir; do
_lint_php "${_php_dir}" \
|| RET=${?}
done < "${_SEARCH_DIRS}"
exit ${RET}