« »

ant应用举例—执行源码补丁任务

发布的软件难免会有 bug。修改好 bug 后,没有提交到 svn 中,可以生成一个补丁文件,就可以发布这个补丁文件了。我们 down 到补丁文件后,就可fix bug了。比较开源软件的 patch。现我用 hello world 程序来示例下 ant 怎么让程序打上补丁。

假如已经发布了一个软件程序,HelloWorld.java:

  1. package com.chenlb;  
  2.  
  3. public class HelloWorld {  
  4.  
  5.     public static void main(String[] args) {  
  6.         String name = "Hello World!";  
  7.         if(args.length > 0) {  
  8.             name = args[0];  
  9.         }  
  10.         System.out.println(name);  
  11.     }  
  12.  
  13. }

用户几天后报告 bug(输入参数时没有了 hello world!),恩,马上 fix。fix后先不提交到svn,可以用 svn 客户端生成一个 patch文件,比如:对项目右击 TortoiseSVN/Create patch 选择 HelloWorld.java,再选择保存位置(如 arg_name.patch),patch 文件如下:

  1. Index: src/com/linuxany/HelloWorld.java  
  2. =================================================================== 
  3. --- src/com/linuxany/HelloWorld.java  (revision 10605)  
  4. +++ src/com/linuxany/HelloWorld.java  (working copy)  
  5. @@ -5,7 +5,7 @@ 
  6.     public static void main(String[] args) {  
  7.         String name = "Hello World!";  
  8.         if(args.length > 0) {  
  9. -           name = args[0];  
  10. +           name += args[0];  
  11.         }  
  12.         System.out.println(name);  
  13.     }

然后用户可以下载 arg_name.patch文件,放到软件目录的patches子目录下。然后在软件目录中运行

ant -Dpatch.name=arg_name.patch apply-patch

build.xml 任务脚本如下:

  1. <property name="patch.file" value="patches/${patch.name}"/> 
  2.  
  3. <target name="apply-patch" description="Apply a patch file.  Set -Dpatch.file, or -Dpatch.name when the patch is in the directory ./patches/"> 
  4.     <patch patchfile="${patch.file}" strip="0"/> 
  5. </target>

您还可能感兴趣的内容

日志信息 »

该日志于2010-06-23 22:24由 admin 发表在Java/jsp分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

没有评论

发表评论 »


返回顶部