代码之家  ›  专栏  ›  技术社区  ›  sfussenegger

如何用Maven创建补丁构建?

  •  3
  • sfussenegger  · 技术社区  · 14 年前

    我想知道在Maven构建期间是否有一种标准方法(即插件)来应用一组补丁。在构建之前,在一个专门的步骤中修补代码库,一旦您有了不同的构建或生成的源代码,就会变得很乏味。

    为了给出一个例子,这个脚本应该从一个新的SVN签出中部署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 回复  |  直到 14 年前
        1
  •  3
  •   Ken Liu    14 年前

    这个 maven patch plugin 可能会有所帮助。

    补丁插件有一个单一的目标,可以应用单个声明的补丁或补丁目录。整个补丁目录的应用程序可以配置各种补丁包含、-排除和-排序选项:

        2
  •  0
  •   Cliff    14 年前

    我没听说过这样的插件。不过,我认为您可以对应用补丁并条件性化build dir的概要文件做些什么。听起来很有趣。