mirror of
https://github.com/Dolibarr/dolibarr
synced 2024-11-22 14:02:56 +00:00
c885c6917e
# Qual: Ignore most shellcheck annotations, fix some Most shellcheck annotations are ignored - this is to make sure that ci can work for existing scripts. Some fixes were applied. pre-commit script was beautyfied by temporarily suppressing the IFS= expression on 2 lines.
81 lines
2.2 KiB
Bash
Executable File
81 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# Usage:
|
|
# Optionally set COMPOSER_CMD to the command to use to run composer.
|
|
# Optionally set COMPOSER_VENDOR_DIR to your vendor path for composer.
|
|
#
|
|
# Run php-cs-fixer by calling this script:
|
|
# ./run-php-cs-fixer.sh check # Only checks (not available with PHP 7.0)
|
|
# ./run-php-cs-fixer.sh fix # Fixes
|
|
#
|
|
# You can fix only a few files using
|
|
# ./run-php-cs-fixer.sh fix htdocs/path/to/myfile.php
|
|
#
|
|
# You can run this from the root directory of dolibarr
|
|
# dev/tools/run-php-cs-fixer.sh fix htdocs/path/to/myfile.php
|
|
#
|
|
# You can provide the environment variables on the CLI like this:
|
|
# COMPOSER_CMD="php ~/composer.phar" COMPOSER_VENDOR_DIR="~/vendor" ./run-php-cs-fixer.sh
|
|
#
|
|
# or export them:
|
|
# export COMPOSER_CMD="~/composer.phar"
|
|
# export COMPOSER_VENDOR_DIR="~/vendor"
|
|
# ./run-php-cs-fixer.sh
|
|
#
|
|
# Or some other method
|
|
#
|
|
|
|
|
|
MYDIR=$(dirname "$(realpath "$0")")
|
|
export COMPOSER_VENDOR_DIR=${COMPOSER_VENDOR_DIR:=$MYDIR/vendor}
|
|
COMPOSER_CMD=${COMPOSER_CMD:composer}
|
|
MINPHPVERSION="7.0"
|
|
|
|
|
|
echo "***** run-php-cs-fixer.sh *****"
|
|
|
|
if [ "$1" = "" ]; then
|
|
echo "Syntax: run-php-cs-fixer.sh check|fix [path_from_root_project]"
|
|
exit 1;
|
|
fi
|
|
|
|
|
|
#
|
|
# Check composer is available
|
|
#
|
|
if [ ! -r "${COMPOSER_CMD}" ] ; then
|
|
echo composer is not available or not in path. You can give the path of composer by setting COMPOSER_CMD=/pathto/composer
|
|
echo Example: export COMPOSER_CMD="~/composer.phar"
|
|
echo Example: export COMPOSER_CMD="/usr/local/bin/composer"
|
|
exit 1;
|
|
fi
|
|
|
|
|
|
#
|
|
# Install/update php-cs-fixer
|
|
#
|
|
echo Install php-cs-fixer
|
|
PHP_CS_FIXER="${COMPOSER_VENDOR_DIR}/bin/php-cs-fixer"
|
|
if [ ! -r "${PHP_CS_FIXER}" ] ; then
|
|
[[ ! -e "${COMPOSER_VENDOR_DIR}" ]] && ${COMPOSER_CMD} install
|
|
[[ -e "${COMPOSER_VENDOR_DIR}" ]] && ${COMPOSER_CMD} update
|
|
"php${MINPHPVERSION}" "${COMPOSER_CMD}" require --dev friendsofphp/php-cs-fixer
|
|
echo
|
|
fi
|
|
|
|
|
|
# With PHP 7.0, php-cs-fixer is V2 (command check not supported)
|
|
# With PHP 8.2, php-cs-fixer is V3
|
|
|
|
(
|
|
echo cd "${MYDIR}/../../.."
|
|
cd "${MYDIR}/../../.." || exit
|
|
CMD=
|
|
# If no argument, run check by default
|
|
[[ "$1" == "" ]] && CMD=check
|
|
# shellcheck disable=SC2086
|
|
echo php${MINPHPVERSION} "${PHP_CS_FIXER}" $CMD "$@"
|
|
php${MINPHPVERSION} "${PHP_CS_FIXER}" $CMD "$@"
|
|
)
|