Le plugins spip/coding-standards est à jour.
Je vais pousser une autre PR. Elle contiendra le fichier de configuration par défaut ci-dessus, une mise à jour du fichier .gitignore ainsi qu’un fichier composer.json
minimal. (la PR : #4865 - feat(spip/coding-standards): Mise en place de l'outil - spip - SPIP on GIT)
-
ATTENTION!: Il ne s’agit en aucun cas de l’introduction de composer en tant qu’outil de développement pour SPIP!
- Son seul ojectif, pour le moment, est de permettre l’installation et la mise à jour d’outils de développement annexes et des règles de codage.
- Je recommande de ne pas utiliser
composer.json
pour introduire des librairies comme ça trop vite pour SPIP lui-même. Discutons-en à tête reposée avant de se lancer là-dedans
Par la suite, il sera possible de (re)faire dans un second temps des PRs d’autofix, soit totales, soit partielles comme l’a suggéré @rastapopoulos, me semble-t-il. Je supprimerai la PR qui a servi de démo dans la foulée.
Pour utiliser PHP_CodeSniffer, il faudra :
- installer composer Introduction - Composer
- exécuter la commande
composer install
qui aura pour effet de télécharger phpcs, phpcbf (l’autofixer), et les règles SPIP ainsi que de compatibilité PHP.
- exécuter la commande
vendor/bin/phpcs
aura pour effet de lancer une analyse, de générer un cache (tmp/php_cs.cache) qui sera exploité par les analyses suivantes, un rapport complet dans le fichier tmp/php_cs.txt et un résumé dans la sortie standard.
Pour changer le comportement de phpcs
, il suffit de copier phpcs.xml.dist
en phpcs.xml
à la racine du site, puis d’en modifier le contenu. La documentation est plutôt complète.
Dernier conseil : il est bon de se familiariser avec l’exécution des outils de dev en ligne de commande avant de commencer à les intégrer dans nos IDE préférés, histoire de comprendre comment ils fonctionnent.
Bonus : sans rapport direct et ça intéressera @marcimat en particulier, j’introduis la configuration pour la fabrication du fichier zip destiné à files.spip.net via composer. Ex: composer archive --format=zip --dir=tmp --file=spip
génère le fichier tmp/spip.zip
Si tout cela vous convient, je ferai des propositions de mise à jour de la documentation sur spipnet.