Плагин Maven version: используйте правила "ignore" из родительского проекта - PullRequest
0 голосов
/ 05 декабря 2018

Предисловие: Я приобрел исторически сложившийся многомодульный проект Maven.Теперь пришло время очистить версии зависимостей.Поскольку использование диапазонов версий имеет свои проблемы (во-первых, они не работают в соответствии со спецификациями; во-вторых, они устраняют воспроизводимость сборки), я перехожу к представлению version-maven-plugin (v2.7).

В настоящее время я пытаюсь заставить его обновить версии артефактов зависимости, используя цель versions:use-latest-releases.Он работает по большей части, но продолжает находить бета-версии для обновления - я удивлен, что они, по-видимому, считаются «релизом».Мне удалось настроить плагин в супер родительском pom (pom.xml в упакованном pom артефакте с соответствующим именем super), который все модули и подмодули называют родительским (иногда косвенным).Я обнаружил, что опция ссылается на xml-файл, содержащий правила для игнорирования определенных версий или шаблонов версий - к сожалению, я не могу поместить правила непосредственно в супер родительский pom (или я еще не нашел опцию).

Итак, вот мой вопрос: как мне ссылаться на файл (в соответствии с документами: "используя универсальный URI или URI-путь к классам"), который находится рядом с pom.xml суперродительский артефакт, который упакован в формате pom для установки в Nexus?Согласно моим исследованиям, это невозможно.

Итак, позвольте мне выразить это в более широком смысле: как мне централизованно настроить плагин version-maven через многокомпонентное дерево проектов maven, чтобы он игнорировалсявсе версии, соответствующие регулярному выражению .*-b.*?

В идеале мне даже не нужно было бы импортировать супер-проект в мое рабочее пространство, и этот файл не должен лежать на веб-сервере (я хочу, чтобы он был связан с супер-проектом, а не где-то летал).

...