Для сборки maven, которая зависит от внутренне разработанного компонента, часто обновляемого в Artifactory, я изо всех сил пытаюсь понять решение, которое должно быть распространенным вариантом использования.
Внутренний артефакт, от которого я зависим, создается много раз в день, но не по шаблону -SNAPSHOT. Вместо этого что-то вроде этого: 1.0.buildNumber.
Из этих различных сборок для этого артефакта, опубликованных в Artifactory (~ 100 в день), некоторые отвечают определенным критериям тестирования и помечаются пользовательским свойством в artifactory, означая, что они удовлетворяют этим критериям тестирования, давайте назовем это свойство "fullyTested". Это определяется и аннотируется после того, как артефакт был первоначально опубликован, он просто «обновляет» артефакт, чтобы добавить это свойство Артефакта.
У меня вопрос: как я могу дать Maven команду приобрести самый последний «полностью протестированный» артефакт? Сегодня версия зависимости статически определяется как свойство внутри файла pom, и в разделе зависимостей эта переменная свойства используется для поля «версия» зависимости.
Существуют громоздкие способы определения этого с помощью Artifactory API, которые можно использовать вне полосы непосредственно перед сборкой, а затем я могу переопределить статически определенную версию, определенную в свойстве файла pom, с помощью -D для команды maven линия, но должен быть лучший способ.
Я сомневаюсь, что моя компания изменит способ публикации артефактов в ближайшее время, поэтому надеюсь, что это можно решить на стороне клиента.