Парсер аннотаций с сохранением и просмотром результатов
Консольное приложение обеспечивает базовую функциональность - сканирование кода в jar-файле сборки приложения на предмет методов/классов, помеченных заранее определенной аннотацией и сохранение / извлечение данной информации из базы данных. Путь до jar-файла передается в качестве аргумента.
Для удобства использования аннотация, которой необходимо помечать методы/классы анализируемого приложения, вынесена в отдельный проект. Т.е. ее необходимо подключить как зависимость в pom.xml анализируемого проекта, разместив в репозитории или локально, что кажется удобным решением (в отличии от копирования кода аннотации в каждый проект, который необходимо проанализировать). В проект Парсера она подключена, jar-файл размещен в resources.
Для поиска аннотаций в переданном jar-файле используется Reflections.
Для сохранения и извлечения информации из БД используется Hibernate. Для такого маленького проекта использование столь мощного инструмента кажется избыточным, но данная библиотека выбрана для демонстрации возможности ее использования. Для проверки работы необходим локальный инстанс Postgresql (на порту 5432) с именем БД vcs.
В БД сохраняется следующая информация:
- Имя автора
- Дата
- Имя метода/класса
- Тип: метод/класс
- Комментарий Информация хранится в одной таблице version.