Composer: Option de type nouvellement ajoutée à RepositoryInterface :: search () interrompt BC

Créé le 22 juin 2016  ·  3Commentaires  ·  Source: composer/composer

Voici le changement de rupture: https://github.com/composer/composer/commit/6a557e45b8295007db61e786736f04018fe5fe90#commitcomment -17966162
et le problème causé par celui-ci: francoispluchino / composer-asset-plugin # 230

les changements ont été introduits par # 5454 qui a également provoqué une autre rupture, qui est rapportée dans # 5456.

Message d'erreur après la mise à jour du compositeur:

Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository::search()
must be compatible with Composer\Repository\RepositoryInterface::search($query, $mode = 0, $type = NULL)
in /code/vendor/fxp/composer-asset-plugin/Repository/AbstractAssetsRepository.php on line 334

voir francoispluchino / composer-asset-plugin # 230 pour plus de détails.

Bug

Commentaire le plus utile

IMO, cela ne casse pas en soi, cela ne casse que les anciens plugins avec la nouvelle version, mais si le plugin s'adapte à la nouvelle version, il devrait être compatible avec les anciennes versions du compositeur selon https://3v4l.org/7OfIR ( l'ajout de paramètres à une interface que vous implémentez est bien, mais en avoir moins ne l'est pas).

Nous pourrions simplement supprimer le paramètre de l'interface, ce qui ne devrait interrompre aucune fonctionnalité et laisser les anciens plugins fonctionner correctement. Il pourrait alors être ajouté en 2.0. Ce serait une approche plus strictement de la Colombie-Britannique.

Tous les 3 commentaires

Le problème n'est cependant pas facilement résolu. Ces changements ont été appliqués à la succursale principale, où les pauses BC sont acceptables. Cependant, comme les plugins ne peuvent pas dépendre d'une version spécifique, mais sont plutôt limités à la version que vous, l'utilisateur, choisissez d'exécuter, les choses peuvent se briser de manière inattendue si vous décidez d'utiliser le dernier instantané au lieu d'une version stable.

Je suis tout à fait conscient que le maître peut casser, ça va. J'ai signalé cela afin qu'il ne soit pas expédié dans une version sans apporter les modifications nécessaires.

IMO, cela ne casse pas en soi, cela ne casse que les anciens plugins avec la nouvelle version, mais si le plugin s'adapte à la nouvelle version, il devrait être compatible avec les anciennes versions du compositeur selon https://3v4l.org/7OfIR ( l'ajout de paramètres à une interface que vous implémentez est bien, mais en avoir moins ne l'est pas).

Nous pourrions simplement supprimer le paramètre de l'interface, ce qui ne devrait interrompre aucune fonctionnalité et laisser les anciens plugins fonctionner correctement. Il pourrait alors être ajouté en 2.0. Ce serait une approche plus strictement de la Colombie-Britannique.

Cette page vous a été utile?
0 / 5 - 0 notes