Ich habe mich gefragt, ob es einen Standardweg (d.h. ein Plugin) gibt, um eine Reihe von Patches während eines Maven Builds anzuwenden. Parcheando der Code-Basis in einem eigenen Schritt vor dem Build wird mühsam, sobald man verschiedene Builds oder generierte Quellen hat.
Um ein Beispiel zu geben, sollte dieses Skript 3 verschiedene Versionen aus einem frischen SVN-Checkout bereitstellen:
#!/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
Derzeit mache ich ähnliche Dinge mit einem anderen Build-Skript, das ich gerne loswerden würde. Daher erwäge ich, ein solches Plugin zu schreiben, wenn es noch nicht verfügbar ist. (Vielleicht mit speziellen Patch-Artefakten für eine einfache Verteilung als zusätzlichen Bonus?)