Плагин Maven version: используйте правила "ignore" из родительского проекта
Предисловие: Я приобрел исторически сложившийся многомодульный проект Maven. Теперь пришло время очистить версии зависимостей. Поскольку использование диапазонов версий имеет свои проблемы (во-первых, они не работают в соответствии со спецификациями; во-вторых, они устраняют воспроизводимость сборки), я перехожу к представлению version-maven-plugin (v2.7).
В настоящее время я пытаюсь заставить его обновлять версии артефактов зависимости, используя цель versions:use-latest-releases
, Он работает по большей части, но продолжает находить бета-версии для обновления - я удивлен, что они, по-видимому, считаются "релизом". Мне удалось настроить плагин в супер родительском пом pom.xml
в упакованном в pom артефакте с соответствующим названием super
), который все модули и подмодули называют родительским (иногда косвенным). Я нашел возможность обратиться к XML-файлу, содержащему правила, чтобы игнорировать определенные версии или шаблоны версий - к сожалению, я не могу поместить правила непосредственно в супер родительский pom (или я еще не нашел опцию).
Итак, вот вопрос, на котором я остановился: как мне ссылаться на файл (согласно документам: "используя универсальный URI или URI-путь к классам"), который находится рядом с pom.xml
супер родительского артефакта, который упакован в формате pom для установки в Nexus? Согласно моим исследованиям, это невозможно.
Итак, позвольте мне сказать это более широко: как централизованно настроить плагин version-maven-плагин в дереве проекта многомодульного maven, чтобы игнорировать все версии, соответствующие регулярному выражению .*-b.*
?
В идеале, мне даже не нужно было бы импортировать супер-проект в мое рабочее пространство, и этот файл не должен лежать на веб-сервере (я хочу, чтобы он был связан с супер-проектом, а не где-то летал).