如何使用Maven创建修补版本?

时间:2010-02-25 13:47:22

标签: java maven-2 maven-plugin patch

我想知道是否有一种标准方式(即插件)在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

目前我正在使用另一个我想摆脱的构建脚本做类似的事情。因此我正在考虑编写这样一个插件,如果还没有。 (也许有专门的补丁工件,以便于分发作为额外的奖励?)

2 个答案:

答案 0 :(得分:3)

maven patch plugin可能会有所帮助。

  

Patch Plugin有一个目标,可以应用单个声明的补丁或补丁目录。可以使用各种patch-inclusion,-exclusion和-ordering选项配置整个补丁目录的应用程序:

答案 1 :(得分:0)

我没有听说过任何这样的插件。但是我想你可以用应用补丁的配置文件做一些事情并对build dir进行条件化。听起来很有趣。