Gradle, OSGi и OBR (или другой репозиторий?)
Ранее я использовал Maven и maven-bundle-plugin для архивирования следующего:
- При выполнении
mvn install
, локальное репозиторий Maven содержит мой пакет + все депо моего пакета автоматически - Локальное репо становится хранилищем OBR
mvn bundle:index
Кроме того, repository.xml автоматически обновляется с каждымmvn install
, - Локальное репо теперь можно использовать для развертывания комплекта Karaf
Теперь я собираюсь перенести некоторые проекты в Gradle, что очень хорошо во многих отношениях. Я успешно создаю пакеты с помощью плагина org.dm.bundle (базовый плагин osgi не позволяет мне автоматически создавать сервисные компоненты).
Используя плагин Gradle maven, я могу сделать gradle install
установить свой собственный пакет в локальном репозитории Maven. Я мог бы тогда использовать bindex
вручную (или посредством какого-то хакерского хакерства) индексировать репо. Тем не менее, мои зависимости не помещаются в репозиторий Maven, они хранятся только в директории Gradle Cache. Таким образом, я пока не могу использовать репо OBR для развертывания в Карафе.
Я много искал, пытаясь найти какое-то хорошее решение, но ничего не нашел.
Я посмотрел на файлы объектов Karaf, которые позволили бы мне указывать URL-адреса mvn напрямую, а не полагаться на OBR, но я бы хотел избежать ручной работы с файлами объектов вручную.
Есть ссылки на использование Nexus, но только Nexus Pro поддерживает OBR из того, что я вижу?
Я также за предложения по альтернативным решениям; главная цель состоит в том, чтобы я смог развернуть свои связки + депы в Карафе. Maven вообще не нужно использовать, хотя мне нужен какой-то способ для разных проектов Gradle найти зависимости от некоторых других проектов (которые не являются частью одного и того же мультипроекта).
Любые идеи или обсуждения, чтобы поставить меня на правильный путь приветствуется!
1 ответ
Это может быть немного поздно, но я просто наткнулся на ваш вопрос, ища способ получить gradle из репозитория OBR.
Насколько я понял ты хочешь подтолкнуть (gradle deploy
) в некоторый репозиторий Maven и использовать его в качестве репозитория OBR. Это возможно с Eclipse Package Drone, https://github.com/eclipse/packagedrone. Вы можете выполнить развертывание с помощью развертывания Maven/Gradle и позволить ему сгенерировать хранилище индекса P2, OBR и OSGi R5.