Ответ 1
С Unzip Repository Nexus Plugin вы можете использовать Nexus для обмена бинарными артефактами между строками Tycho.
-
Проект Tycho А публикует свои артефакты, как обычный проект Maven: проект построен с помощью
mvn clean deploy
, который загружает артефакты проекта в ваш разворачиваемый репозиторий Maven на Nexus. Единственное специальное требование состоит в том, что проект создает репозиторий p2. Рекомендуемый способ сделать это - это модульeclipse-repository
, но в большинстве случаев также должна работать "возможность развертывания". -
В вашем Nexus вам нужна только следующая разовая конфигурация. Для развертывания репозитория Maven (или "группы репозитория", который включает этот репозиторий), вам нужно добавить виртуальный репозиторий типа "Unzip Repository". Этот виртуальный репозиторий показывает артефакты zip из репозитория развертывания в распакованной форме.
Пример. Если zip проекта p2 проекта A находится в репозитории развертывания Maven в
http://nexus.corp/nexus/repositories/build.milestones/corp/example/project-a/project-a-repo/1.0.0/project-a-repo-1.0.0.zip
, он будет доступен в стандартном формате репозитория p2 в репозитории Unzip вhttp://nexus.corp/nexus/repositories/build.milestones.unzip/corp/example/project-a/project-a-repo/1.0.0/project-a-repo-1.0.0.zip-unzip/
. -
Проект Tycho B может ссылаться на артефакты из проекта A, добавляя последний URL к своей целевой платформе например. в файле определения цели.
В приведенном выше примере проект B ссылается на версию выпуска проекта A. Тот же подход также работает для моментальных снимков, поскольку в хранилище Unzip есть поддержка "symbolic" версии, например 1.1.0-SNAPSHOT
для последней развернутой версии 1.1.0-SNAPSHOT или даже просто SNAPSHOT
для самой высокой версии. Используя эти символические версии, Project B может затем, например, в своей собственной сборке CI, ссылаться на проект A результатов сборки CI, добавив в целевую платформу результирующие (стабильные!) P2-репозитории.
Отказ от ответственности: плагин Unzip Repository Nexus является частью проекта Tycho, из которого я являюсь коммиттером.