我想知道是否有一种标准方式(即插件)在Maven构建期间应用一组补丁。只要有不同的构建或生成的源,在构建之前在专用步骤中修补代码库就会变得乏味。
举个例子,这个脚本应该从新的SVN checkout中部署3个不同的版本:
#!/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
目前我正在使用另一个我想摆脱的构建脚本做类似的事情。因此我正在考虑编写这样一个插件,如果还没有。 (也许有专门的补丁工件,以便于分发作为额外的奖励?)
答案 0 :(得分:3)
maven patch plugin可能会有所帮助。
Patch Plugin有一个目标,可以应用单个声明的补丁或补丁目录。可以使用各种patch-inclusion,-exclusion和-ordering选项配置整个补丁目录的应用程序:
答案 1 :(得分:0)
我没有听说过任何这样的插件。但是我想你可以用应用补丁的配置文件做一些事情并对build dir进行条件化。听起来很有趣。