Ce qu'il ne fait pas

Périmètre #

Être transparent sur le périmètre fait partie du travail bien fait :

  • Il ne détecte pas les conflits à l'exécution qui n'apparaissent qu'avec le comportement réel (par exemple deux plugins qui annulent le même événement de manières incompatibles). Cela exige des tests en direct, pas une analyse statique.
  • La détection des collisions de commandes ne voit que les commandes déclarées de la manière classique, dans la section commands: de plugin.yml. Les plugins Paper qui enregistrent des commandes dynamiquement à l'exécution (via l'API de cycle de vie Brigadier) ne sont pas visibles pour une analyse statique et ne seront pas signalés.
  • Ce n'est pas un scanner de logiciels malveillants/virus : il vérifie des faits de compatibilité structurelle, pas l'intention ni le comportement du plugin.
  • Les constats PLUGIN_* comparent les jar à la liste des plugins du serveur au moment de l'analyse. L'analyse automatique de démarrage s'exécute une fois le démarrage du serveur terminé, ils y sont donc significatifs ; un plugin ajouté au dossier pendant que le serveur tourne est signalé comme non chargé jusqu'au prochain redémarrage.
  • Les constats SHADED_LIBRARY_COLLISION sont un avertissement, pas la preuve d'un véritable bogue : l'isolation des chargeurs de classes par plugin de Paper rend la plupart d'entre eux totalement sans conséquence en pratique.