2011-02-02 4 views
5

Скажите, что у вас есть проект, который использует maven и репозиторий подрывной деятельности. Он состоит из довольно большого количества модулей. До сих пор развитие происходило в багажнике, но теперь должны появляться ветви функций. Это должно быть настолько безболезненным, насколько возможно, учитывая, что все разработчики в команде должны начать использовать ветви функций.Есть ли способ использовать maven для автоматизации реинтеграции ветвей объектов?

Чтобы создать ветку, вы используете плагин выпуска, который удобно создает ветку для вас, правильно изменяет номера версий всех модулей и даже обновляет раздел <scm> в родительском помпе.

Теперь, если вы хотите реинтеграцию функции ветви ствола, нет функциональных возможностей согласования в плагине релиза - вы должны сделать все вручную:

  • Слияние с reintegrate флагом
  • Изменить номер версии во всех POMS
  • Изменить раздел <scm> вручную
  • Commit

Это не только громоздко, но и подвержено ошибкам, если это делается вручную каждый раз (и это может быть частым при экстенсиональном использовании ветвей функций). Я знаю, что по крайней мере второй момент можно было бы автоматизировать с использованием release:update-versions или version:set, но должно быть больше, не так ли? Что мне не хватает?

+0

Для этих типов задач, связанных с системой сборки, большинство магазинов, в которых я работал, записывают скрипты perl или python, загруженные в дом. Затем выполняются и другие задачи интеграции, такие как создание или удаление тестовых записей DNS для этой функции, отдельная копия файлов на dev-сервере и т. Д. – zanlok

+0

Хм, это все еще звучит неудачно, потому что это нарушает maven/subversion экосистема. Похоже, что это может потребоваться для реализации пользовательского плагина maven. – David

ответ

0

Существует не очень хороший способ сделать это с плагином релиза maven. Лучше всего делать слияние с просто подрывной деятельностью (слияние функции в магистраль), а затем в конечном итоге освободить ствол.

Смежные вопросы