2012-06-14 4 views
1

Pro издание Nexus показывает зависимости артефакт ...Nexus получить зависимости REST или создать плагин

хотят сделать то же самое в издании Сообщества. Не похоже на стандартный REST API:

https://repository.sonatype.org/nexus-core-documentation-plugin/core/docs/data_ns0.html 

предоставляет услугу для зависимостей. Придумали примеры для создания плагинов (не слишком заряженных по документации Nexus на плагинах прямо сейчас) и игра с идеей создания плагина (на основе REST), который вытягивает зависимости на артефакт. Идеи?

+0

Предположим, что для Nexus (в редакции Pro) для перечисления зависимостей полученная информация размещена в связанный POM? Поэтому взломанным решением было бы просто перейти к POM и вытащить его. –

ответ

3

Из того, что я знаю, Nexus в основном загружает pom.xml проекта, который вас интересует, и запускает список или древовидные цели плагина зависимостей maven, а затем просто отображает результаты.

Конечно, вы можете сделать то же самое в своем собственном плагине. Вы также можете использовать API-интерфейс Aether и другие, чтобы сделать разрешение зависимостей в своем плагине, а не вызывать плагин извне, а затем показывать результаты. Фактически Nexus может это сделать.

Реалистично писать это самостоятельно, что звучит как изобретать колесо, и я просто получил бы лицензию Pro. Помимо этой минимальной функции, есть много других преимуществ для профессионала. Просто попробуй.

+0

Lookat Aether (http://wiki.eclipse.org/Aether), который выглядит общей цели. Переходим к тому, как писать плагин (REST), поскольку требуется некоторая интеграция непосредственно на сервере Nexus. –

3

Посмотрите на это «безголовый» плагин (подключаемый модуль, который предлагает услуги других плагинов, не имеющих какой-либо функциональности или UI самостоятельно): https://github.com/sonatype/nexus/tree/master/nexus/nexus-core-plugins/nexus-maven-bridge-plugin

Nexus использует чистый Aether, а не (весь) Maven - в Manfred говорит - для вычисления дерева зависимостей .... снова, просто загляните в этот плагин выше, он есть;)

+0

Хороший совет! Взорвался плагин отчета о зависимости и да, материал Aether используется с Plexus (как что-то новое для меня). Выглядит довольно легко понять использование Plexus и нажатие на код Extjs (что я сделал раньше). Эфир выглядит так, будто он перематывает бобы, которые отображаются непосредственно в POM, и использует HTTP-клиент для создания многостраничного сообщения формы при обновлении до репо. Не нашли точно, как POM сохранен, но моя догадка прямо в файловой системе, а кеширование и зависимости получены из файлов POM. –

+0

Я сказал, что это было просто предположение, что он использует Maven ... ;-) –

+0

Отправляет обратно то, что я нахожу, но с первого взгляда есть куча JAXB, похожая на (XSteam) бобы, висящие вокруг, которые, скорее всего, скатываются из кеша из файла, который, вероятно, представляет собой POM. ;-) –

Смежные вопросы