[ecrire ↪ feat_prive_8_suppression_etat_paquets] 10 commits

marcimat/ecrire | 10 commits

Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

tmp: package local

Modifié
composer.json

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

test: Nettoyer et corriger des tests autour de spip_version_compare et plugins_version_compatible

Les tests changent légèrement à la marge en basculant sur une analyse d’intervalle avec Composer ;
L’essentiel est que Composer ignore l’état sur un test d’intervalle, autrement dit ‹ 2.0.0-beta › est contenu dans l’intervalle ‹ [2.0.0;3.0.0] › (transformé en ‹ >=2.0.0 <=3.0.0 ›),
ce qui n’était pas le cas avant, ou seulement partiellement.

Modifié
tests/unit/Plugin/PluginVersionCompatibleTest.php
tests/unit/Plugin/SpipVersionCompareTest.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

refactor: plugin_version_compatible() utilise le composant Semver

  • On utilise des analyses d’intervalle (dans semver->satisfies()) et pas des comparaisons via version_compare()
  • Le composant spip-league/semver s’appuie sur composer/semver ensuite
  • Par ailleurs comparer dans version_compare avec les * est déprécié
  • De même que comparer des versions pas tout à fait au format Semver…

Modifié
inc/plugin.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

refactor: Déplacer la création de la constante _DIR_PLUGINS_AUTO en dehors de inc/plugins

Je ne sais pas trop où la mettre, mais je veux que les TU n’executent pas de code en ouvrant ce fichier inc/plugin

Modifié
bootstrap/inc/initialization.php
inc/plugin.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

test: Déplacement en test directement exécutable

Et 2.0.0# n’est pas une version valide.

Ajouté
tests/unit/Plugin/PluginVersionCompatibleTest.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h28min :

refactor: Utiliser le Comparator de spip/semver dans spip_version_compare

Modifié
bootstrap/inc/utils.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h25min :

deprecate: fonctions de au profit du natif SimpleXML par exemple

Modifié
inc/xml.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h25min :

fix: Pas d’état sur paquet.xml de SPIP

Refs: spip/prive#8

Modifié
paquet.xml

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h25min :

feat: L’état d’un plugin est calculé à partir de la stabilité de la version

En utilisant semver, depuis la lib composer/semver

Refs: spip/prive#8

Modifié
inc/plugin.php
plugins/afficher_nom_plugin.php
plugins/afficher_plugin.php
plugins/verifie_conformite.php

Détails : Connexion · GitLab

==============================
Par Matthieu Marcillaud, le 28 février 2026 à 15h25min :

build: Dépendance à spip-league/semver

Modifié
composer.json

Détails : Connexion · GitLab