Ответ 1
Clirr - это инструмент, который проверяет библиотеки Java на двоичную и исходную совместимость со старыми версиями.
Apache Commons использует его, он создает отчеты вроде этого (для Commons Lang).
Кто-нибудь знает какие-либо инструменты, которые могут суммировать изменения в интерфейсах Java между различными версиями? (По интерфейсу я имею в виду открытую функциональность типов в целом, а не конкретную конструкцию языка.)
Что бы я хотел, это какая-то программа, которая принимает две версии одного и того же пакета или дерева пакетов и выводит что-то вроде:
или что-то более сложное, выше всего лишь мои первоначальные мысли. Решение может работать на байт-код или на источник, я не против.
Clirr - это инструмент, который проверяет библиотеки Java на двоичную и исходную совместимость со старыми версиями.
Apache Commons использует его, он создает отчеты вроде этого (для Commons Lang).
Посмотрите japitools. Эти инструменты используются проектом GNU Classpath для сравнения их API для совместимости подписи с различными версиями библиотек классов Sun Java.
Вы можете реализовать свой собственный инструмент, используя отражение, особенно если вы хотите изучить различные изменения вашего кода. Он также работает с байт-кодом.
Я использовал JDiff doclet в прошлом для этого. В зависимости от того, что вы делаете, это может быть болью для настройки, но я думаю, что задача Ant работает достаточно хорошо.