У нас есть несколько заданий по агрегации, которые производят дистрибутивы, подходящие для нашей организации доставки, на основе файлов функций Apache Karaf.
<features name="${project.groupId}/${project.artifactId}/${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0 http://karaf.apache.org/xmlns/features/v1.4.0">
<feature name="aggregated-bundles" version="${project.version}" start-level="80" install="auto">
<bundle>mvn:local.example.project/service-bundle/1.0.0-SNAPSHOT</bundle>
</feature>
</features>
В сочетании с инструментами подключаемого модуля karafs maven они создают пакет tar.gz для передачи по цепочке для тестовых или производственных развертываний.
Однако зависимость от артефакта maven, выраженного в файле функций karafs, естественно, не обнаруживается jenkins в обычном задании maven или конвейере. Конечным результатом является то, что когда включенные пакеты обновлены, а версия функции — нет, как это обычно бывает со снимками, задание агрегации не будет запускаться, а если оно будет запущено вручную без очистки рабочей области, оно не будет содержать обновленных сборок. зависимостей SNAPSHOT.
Как я могу научить Дженкинса моим внешне указанным зависимостям maven?
Я попытался создать файл функций на основе метаданных, но остановился на поддерживаемом варианте использования OSGi для развертывания нескольких версий одного и того же артефакта, что не нравится maven.