У меня такое ощущение, что я делаю что-то не так, потому что некоторое время я копался в сети (конечно, в стеке включен поток), и все же это не дало никаких результатов!
Короче, у меня естьПроект maven настроен с плагином релиза maven, который работает нормально, корректно увеличивает версию, проверяет код в SVN, теги и развертывает без проблем.
Однако возникла необходимость в создании сценария для каждого выпуска, который должен ссылаться на сгенерированный файл jar.Это означает 2 вещи:
- для версии выпуска, измените сценарий, чтобы содержать версию выпуска, зафиксируйте его обратно в SVN (чтобы он был помечен и т. Д.)
- после выпуска,скрипт должен быть обновлен, чтобы он содержал (следующую) версию SNAPSHOT и был зафиксирован обратно в SVN
Например, предположим, что моя текущая рабочая версия pom - 1.1.1-SNAPSHOT.Таким образом, мой script.sh содержит ссылку на project-1.1.1-SNAPSHOT.jar.Когда я выполняю релиз mvn: prepare (при условии, что я буду придерживаться версий, предложенных maven-release-plugin), версия релиза станет 1.1.1.На этом этапе мой script.sh должен быть изменен на эталонный project-1.1.1.jar и зафиксирован обратно. После выпуска mvn: выполните все 1.1.1, когда происходит тегирование, развертывание в репозиторий maven и т. Д. И после этого мойПом будет изменен на 1.1.2-SNAPSHOT и передан обратно в SVN.На этом этапе мой скрипт должен быть изменен на эталонный project-1.1.2-SNAPSHOT.jar.
Я понял, что могу легко изменить скрипт, используя что-то вроде плагина GMaven - и у меня есть скриптна самом деле, чтобы приступить к работе на этапе подготовки ресурсов (хотя, может быть, мне нужно взглянуть на другой?), однако самая большая проблема, которую я вижу, - это получение версий, которые решил использовать maven-release-plugin: другими словами, как мне это сделать?узнайте:
- релизная версия, которую maven-release-plugin решил использовать
- next dev / SNAPSHOT, версия, которую maven-release-plugin будет использовать
Как только я получу доступ к ним, я думаю, что смогу заставить GMaven выполнить необходимый код, чтобы соответствующим образом изменить мой скрипт.(Хотя, если посмотреть на вышеприведенный сценарий, вы можете порекомендовать лучший способ сделать это, я был бы более чем рад его услышать!) Есть ли какие-либо свойства, такие как $ {project.releaseVersion} (кстати, это не работает)которые могли бы дать мне эти 2 номера версии?
Заранее спасибо!
Лив