Une bonne partie de l’application Autodoc disparait pour plusieurs raisons :
- On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé,
car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible
pour adapter les templates aux évolutions. On préfère user juste d’un peu de
cosmétique avec un peu de CSS. Le thème complet d’avant disparait.
- L’application est devenue un .phar et les surcharges sont improbables là où le code
d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie
de me replonger à gérer des passes de compilation comme avant pour retrouver
les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version).
Cette partie disparait aussi.
- On bascule sur du PHP 8.0 minimum.
On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi
symfony/filesystem et League/Pipeline.
On gère les téléchargements et mises à jour Git avec l’outil checkout
(qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire
dans le répertoire de travail, tout comme la création d’un répertoire `var`
écrivable.
Une décoration spécifique du thème par défaut (css, svg), est copiée
dans la config générée (var/config/templates), et est alors utilisée
par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP)
Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées.
La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
au moment de la validation, avec des contraintes indiquées par des classes spécifiques.
Une erreur dans phpDocumentor fait que certaines erreurs sur les tags `@param` ne sont
pas compatibilisées et du coup, j'avais une fonction pour les ajouter, mais pas
dans la méthodologie attendue par phpDocumentor, ce qu'il fait qu'elles apparraissent
en double.
Après une (assez longue) analyse, la source du problème qui fait que phpDocumentor
n'analysait pas certaines erreurs est trouvée, et un patch est proposé
(https://github.com/phpDocumentor/phpDocumentor2/issues/1677)
En attendant son intégration un jour éventuel, on envoie ici,
sous le bon format de quoi trouver les erreurs en question.
Et on nettoie au passage l'ancien mécanisme que j'utilisais.
Cependant, on tolère de mettre des @see ou @uses vers des fonctions de SPIP.
Dans ce cas là, un lien sera fait vers code.spip.net.
On ne pourra trouver que les fonctions présentes dans code.spip.net,
c'est à dire dans la version de SPIP en développement.