Как подобрать релизную версию из релизного плагина maven с помощью GMaven? - PullRequest
2 голосов
/ 15 февраля 2012

У меня такое ощущение, что я делаю что-то не так, потому что некоторое время я копался в сети (конечно, в стеке включен поток), и все же это не дало никаких результатов!

Короче, у меня естьПроект maven настроен с плагином релиза maven, который работает нормально, корректно увеличивает версию, проверяет код в SVN, теги и развертывает без проблем.

Однако возникла необходимость в создании сценария для каждого выпуска, который должен ссылаться на сгенерированный файл jar.Это означает 2 вещи:

  1. для версии выпуска, измените сценарий, чтобы содержать версию выпуска, зафиксируйте его обратно в SVN (чтобы он был помечен и т. Д.)
  2. после выпуска,скрипт должен быть обновлен, чтобы он содержал (следующую) версию 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 номера версии?

Заранее спасибо!

Лив

...