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
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}
|
|
|