`

在ant中使用cvs功能自动完成每日构建

    博客分类:
  • cvs
阅读更多

核心提示:实现的主要功能是:自动从cvs中check out模块,然后编译,把编译后的class打成jar,再commit到cvs服务器的指定位置。 build.xml ? xml version = 1.0 ? project name = gntAutobuild basedir = . default = build !--TheCVSROOTvalue-- property name = cvsr

 

实现的主要功能是:自动从cvs中check out模块,然后编译,把编译后的class打成jar,再commit到cvs服务器的指定位置。

    build.xml

<?xml version="1.0"?>      
<project name="gnt Auto build" basedir="." default="build">      
      
    <!-- The CVSROOT value -->      
    <property name="cvsroot" value=":pserver:dhf:@192.168.0.200:D:/cvs_repository_z"/>      
    <property name="cvs.password" value=""/>      
        
    <property name="ywzcpt.dir" value="${basedir}/ywzcpt"/>      
    <property name="ywzcpt.module.name" value="ywzcpt"/>      
          
    <property name="zfyw.dir" value="${basedir}/zfyw"/>      
    <property name="zfyw.module.name" value="zfyw"/>      
      
    <property name="external.dir" value="${basedir}/external"/>      
    <property name="external.module.name" value="external"/>      
          
    <property name="cvs-op" value="co " />      
    <!-- Initializing -->      
    <target name="init">      
        <tstamp>      
            <format property="today" pattern="yyyy-MM-dd hh:mm:ss"/>      
        </tstamp>      
        <echo message="${today}" />      
    </target>      
          
    <target name="prepare" depends="init" >      
        <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="ant-cvs.cvspass"/>      
    </target>      
          
    <target name="external-check-out" depends="prepare">      
        <cvs cvsRoot="${cvsroot}" package="${external.module.name}"        
             passfile="ant-cvs.cvspass"/>      
    </target>      
          
    <!-- Retrieve the ywzcpt module -->      
    <target name="ywzcpt-check-out" depends="external-check-out">      
        <delete dir="${ywzcpt.module.name}"/>        
        <cvs cvsRoot="${cvsroot}" package="${ywzcpt.module.name}"        
             passfile="ant-cvs.cvspass"/>      
    </target>      
      
    <target name="zfyw-check-out" depends="external-check-out">      
        <delete dir="${zfyw.module.name}"/>        
        <cvs cvsRoot="${cvsroot}" package="${zfyw.module.name}"        
             passfile="ant-cvs.cvspass"/>      
    </target>      
      
    <!-- cvs checkout -->      
          
    <target name="check-out">      
        <antcall target="external-check-out" />      
        <antcall target="ywzcpt-check-out" />      
        <antcall target="zfyw-check-out" />      
    </target>      
          
    <!-- build XSP framework -->      
    <target name="build">      
        <echo message="+=============================================+" />      
        <echo message="|     Start Building GNT for compilation      |" />      
        <echo message="+=============================================+" />      
              
        <antcall target="ywzcpt-build" />      
              
              
        <echo message="+=============================================+" />      
        <echo message="|      End Building GNT for compilation       |" />      
        <echo message="+=============================================+" />      
              
    </target>      
          
    <target name="ywzcpt-build" depends="ywzcpt-check-out">      
        <echo message="+---------------------------------------------+" />      
        <echo message="|    Start Building ywzcpt for compilation    |" />      
        <echo message="+---------------------------------------------+" />      
      
        <ant antfile="build.xml" dir="${ywzcpt.module.name}" output="ywzcpt.log" />      
      
        <property name="ywzcpt.add" value="add ./build/log/*.log ./build/*.jar ./build/*.war"/>      
        <property name="ywzcpt.commit" value="commit -m '${today}' ./build/log/*.log ./build/*.jar ./build/*.war"/>      
              
        <ant antfile="build.xml" dir="${ywzcpt.module.name}" target="commit-build" />      
              
        <echo message="+---------------------------------------------+" />      
        <echo message="+     End Building ywzcpt for compilation     |" />      
        <echo message="+---------------------------------------------+" />      
    </target>      
          
    <target name="zfyw-build" depends="zfyw-check-out, ywzcpt-build">      
        <echo message="+---------------------------------------------+" />      
        <echo message="|    Start Building ywzcpt for compilation    |" />      
        <echo message="+---------------------------------------------+" />      
      
        <ant antfile="build.xml" dir="${zfyw.module.name}" output="zfyw.log" />      
      
        <property name="zfyw.add" value="add ./build/log/*.log ./build/*.jar ./build/*.war"/>      
        <property name="zfyw.commit" value="commit -m '${today}' ./build/log/*.log ./build/*.jar ./build/*.war"/>      
              
        <ant antfile="build.xml" dir="${zfyw.module.name}" target="commit-build" />      
              
        <echo message="+---------------------------------------------+" />      
        <echo message="+     End Building ywzcpt for compilation     |" />      
        <echo message="+---------------------------------------------+" />      
    </target>      
      
    <target name="clean" >      
        <delete dir="${ywzcpt.module.name}"/>        
    </target>      
        
</project>    

 

 ywzcpt/build.xml片断:

    代码

<!-- 主要实现commit功能 -->      
<target name="commit-build">      
    <cvs cvsRoot="${cvsroot}" passfile="${root.dir}/ant-cvs.cvspass"      
         command="${ywzcpt.add}"/>      
    <cvs cvsRoot="${cvsroot}" passfile="${root.dir}/ant-cvs.cvspass"      
         command="${ywzcpt.commit}"/>      
</target>

  

分享到:
评论

相关推荐

    在Eclipse中使用CVS

    CVS的使用,CVS的使用,CVS的使用,CVS的使用,CVS的使用,CVS的使用,CVS的使用,CVS的使用

    eclipse中使用CVS

    eclipse中使用CVS eclipse中使用CVS eclipse中使用CVS

    ant处理cvs时环境安装

    使用ant对cvs不同版本进行比较时,对其环境的支持!

    在eclipse中安装和使用cvs

    本课件介绍了在eclipse开发环境下安装和使用cvs插件的方法。cvs用于联合开发管理,在共同开发一个工程时使用cvs可以保证小组成员之间的协作和同步。

    cvs 使用说明cvs 使用说明

    cvs 使用 说明cvs 使用说明cvs 使用说明

    Eclipse中CVS使用

    本章介绍CVS的从服务器安装到客户端具体操作的整条开发线的使用流程,其中文件提交与更新是项目开发中使用最频繁的操作,本章详细讲述了具体的操作...通过本章的学习,读者已可以轻松地在项目中使用CVS来进行版本管理。

    CVS 使用详细手册

    CVS使用手册CVS使用手册CVS使用手册CVS使用手册

    CVS基础培训(包括功能,配置,使用)

    CVS基础培训包括CVS功能,cvs配置,cvs使用.

    新linux低版本java运行cvs 和ant

    在新linux上安装 cvs 和ant,并用低版本java运行

    CVS 使用说明,教你如何使用cvs下载

    CVS 使用说明,教你如何使用cvs下载

    CVS 中文帮助手册 chm

    * 3 使用 CVS 开始一个项目 * 4 修订版 * 5 分支与合并 * 6 递归行为 * 7 添加、删除和重命名文件和目录 * 8 查看历史 * 9 处理二进制文件 * 10 多人开发 * 11 版本管理 * 12 关键字替换 * 13 跟踪第三方代码 * 14 ...

    Delphi中IDE集成CVS--TortoiseCVS_v01

    由于我一直使用Delphi 7.0 所以不知能否在其他版本中使用。 CVS服务:CVSNT 2.5.01 Build 1976 CVS客户端软件:TortoiseCVS 1.8.14(注意:这个客户端软件必须安装,没有的朋友可以到网上下载...

    CVS_中文手册CVS_中文手册

    CVS_中文手册CVS_中文手册CVS_中文手册CVS_中文手册CVS_中文手册CVS_中文手册CVS_中文手册

    Eclipse下使用CVS

    Eclipse下使用CVS 在我们讨论如何使用诸如CVS的某一具体资源库之前,先简要介绍一下Eclipse小组支持的基本原则。这些原则对任何被集成到Eclipse中的资源库都适用。

    CVS使用详解中文文档

    CVS使用.doc CVS使用详解中文文档

    Eclipse中使用CVS

    在Visual Age Java之后,IBM推出了新一代的开放源码软件开发平台Eclipse,在此基础上打造其核心产品WebSphere家族。而对于大部分个人开发者而言,Eclipse作为一个崭新的Java集成开发环境提供了一个非常具有吸引力的...

    在Eclipse中配置和使用CVS

    关于cvs配置和使用的说明,eclipse中,自带的repository的版本控制没有提供group开发所带来的版本控制问题,所以通常使用cvs控制版本

    MyEclipse中使用CVS

    MyEclipse中使用CVS 很全 不看你会后悔

    cvs 中文使用手册

    cvs中文手册,讲述基本的cvs概念,以及cvs服务的搭建等.

    CVS中文使用手册PDF

    CVS中文使用手册,对于初学者很有帮助的。

Global site tag (gtag.js) - Google Analytics