Я пишу Maven плагин, который в основном должен сделать следующее:Как обрабатывать исходные файлы проекта в Maven плагин
- процесса всех классов проекта, построенного
- создать файл, описывающие части исходного кода
- добавить этот файл в банку построен (или как дополнение к
MANIFEST
или в качестве нового файла в каталогеMETA-INF
)
Как я просто сделать мой первый шаги в создании плагинов maven здесь - мой (возможно, тупой) вопрос:
Как я могу получить доступ к исходному коду проекта из плагина, который выполняется при построении проекта (лучший способ: как пакеты на построенном пути что я могу легко обработать)?
Мой единственный подход до сих пор, чтобы получить источник проекта с чем-то вроде
// assuming the project exists (to exclude instance checks etc.)
MavenProject project = (MavenProject) getPluginContext().get("project");
String projectSource = project.getSourceDirectory();
, а затем обрабатывать содержимое этого каталога с манипуляцией файла. Но мне кажется настолько уродливым, что я уверен, что существует лучшее решение (и я просто не смог найти его с помощью google, страниц maven и stackoverflow).
Ваш ответ делает проверки типов/-casting ненужного (спасибо за это), но не решает мою проблемы: * Мне нужно проверить каждый класс проекта, если он содержит некоторые значения * Поэтому мне нужен доступ. эти классы в плагине (и я не могу найти это во введении/API). –
Спасибо за обновление, я буду следовать вашему совету, чтобы изучить исходный код других плагинов, но apt-плагин действительно не помогает мне, поскольку он просто передает пути всех источников в apt ('com.sun.tools.apt. Main') и не обрабатывает их. Но я буду смотреть и сообщать о моих результатах здесь –