Мне было интересно, есть ли стандартный способ (то есть плагин) для применения набора патчей во время сборки Maven. Исправление кода на отдельном этапе перед сборкой становится утомительным, как только у вас есть разные сборки или сгенерированные источники.
Чтобы привести пример, этот скрипт должен развернуть 3 разные версии из свежей проверки SVN:
#!/bin/bash
# checkout project
svn checkout http://example-project.googlecode.com/svn/tag/v1_0 example-project-read-only
cd example-project-read-only
# build example-project-1.0
mvn deploy
# build example-project-1.0-a3
mvn -Dmaven.patch.dir=/path/to/patchesA -Dmaven.patch.buildSuffix=a3 clean patch:patch deploy
# build example-project-1.0-b0
mvn -Dmaven.patch.dir=/path/to/patchesB -Dmaven.patch.buildSuffix=b0 clean patch:patch deploy
В настоящее время я делаю подобные вещи с другим сценарием сборки, от которого я хотел бы избавиться. Поэтому я собираюсь написать такой плагин, если он еще не доступен. (Может быть, со специальными патч-артефактами для легкого распространения в качестве дополнительного бонуса?)