Мы встроили среду выполнения OSGi (Equinox) в наше клиент-серверное приложение, чтобы облегчить разработку плагинов, и пока все идет хорошо. Мы использовали Eclipse для создания плагинов из-за встроенного редактора манифеста, управления зависимостями и мастера экспорта. Использование Eclipse для управления сборками не очень способствует непрерывной интеграции через Hudson.
У нас есть пакеты OSGi, которые зависят от других пакетов OSGi. Я действительно не хотел бы жестко задавать порядок сборки в собственной сборке ANT. Мы сделали это в прошлом, и это довольно ужасно. Существует ли какой-либо инструмент для сборки, который может легко управлять OSGi-зависимостями, если не разрешает их автоматически? Есть ли ПРИМЕРНЫЕ примеры того, как это сделать?
РАЗЪЯСНЕНИЯ:
Сгенерированные сценарии сборки можно использовать только через Eclipse. Они требуют запуска частей Eclipse вручную. У нас также есть некоторые стандартные цели, которых не будет в сборке Eclipse, и я не хочу изменять сгенерированный файл, так как я могу регенерировать (я знаю, что могу делать включения, но я хочу, чтобы все файлы Eclipse gen не использовались вместе)
Вот мой макет проекта:
/
-PluginA
-PluginB
-PluginC
.
.
.
При использовании Eclipse PDE у каждого плагина есть Manifest, но нет build.xml, поскольку PDE делает это для меня. Трудно автоматизировать процесс с графическим интерфейсом с Хадсоном. Я бы хотел создать свой собственный build.xml для сборки каждого, НО есть зависимости и проблемы с порядком сборки. Эти проблемы обусловлены файлами манифеста (которые описывают импорт OSGi). Например, PluginC зависит от PluginB, который зависит от PluginA. Они должны быть построены в правильном порядке. Я понимаю, что могу вручную управлять порядком сборки, я ищу инструмент, который поможет автоматизировать управление зависимостями порядка сборки.