10 votes

Quels sont les outils disponibles pour vérifier les changements apportés aux interfaces Java ?

Quelqu'un connaît-il un outil permettant de résumer les modifications apportées aux interfaces Java entre différentes versions ? (Par interface, j'entends la fonctionnalité exposée des types en général, et non la construction spécifique du langage).

Ce que je voudrais, c'est un programme qui prenne deux versions du même paquet ou de la même arborescence de paquets et qui produise quelque chose comme.. :

  • Constructeur (String, int) retiré sur la classe Thing
  • Constructeur (String) obsolète sur la classe OtherThing
  • Méthode void setId(String) ajoutée sur la classe SomethingElse

ou quelque chose de plus sophistiqué, ce qui précède n'est que ma première réflexion. Une solution pourrait fonctionner sur le bytecode ou sur la source, cela ne me dérange pas.

2voto

Thilo Points 108673

Clirr est un outil qui vérifie la compatibilité binaire et source des bibliothèques Java avec les anciennes versions.

Apache Commons l'utilise, il crée des rapports comme celui-ci (pour Commons Lang) .

1voto

Stephen C Points 255558

Jetez un coup d'œil à japitools . Ces outils sont utilisés par le projet GNU Classpath pour comparer la compatibilité de leurs API avec les différentes versions des bibliothèques de classe Java de Sun.

0voto

b_erb Points 8869

Vous pouvez implémenter votre propre outil en utilisant réflexion surtout si vous voulez examiner des modifications distinctes de votre code. Il fonctionne également avec le bytecode.

0voto

Alex Miller Points 28225

J'ai utilisé le Doclet JDiff dans le passé pour cela. Selon ce que vous faites, la configuration peut être pénible, mais je pense que la tâche Ant fonctionne assez bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X