`

在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>

  

分享到:
评论

相关推荐

    ant处理cvs时环境安装

    在IT行业中,Ant和CVS是两个非常重要的工具,它们分别用于构建自动化和版本控制。在本篇中,我们将深入探讨如何使用Ant处理CVS(Concurrent Versions System)时的环境安装及其相关知识点。 首先,Ant是Apache软件...

    Eclipse中使用CVS

    【Eclipse 中使用 CVS】知识点详解 Eclipse是一款广受欢迎的开源Java集成开发环境,由IBM推出并持续发展,成为了WebSphere家族的核心组件。对于个人开发者而言,Eclipse以其强大的功能和灵活性吸引了大量用户。在...

    在Eclipse中使用CVS

    Eclipse自带CVS客户端,这意味着一旦CVS服务器搭建完成,开发者可以直接在Eclipse环境中使用CVS进行版本控制。 1. **集成配置**:在Eclipse中打开“Window”&gt;“Preferences”&gt;“Team”&gt;“CVS”,按照服务器地址、...

    在MyEclipse中使用CVS

    本文将深入探讨如何在MyEclipse这款强大的Java集成开发环境中使用CVS进行源码管理。 首先,理解CVS的核心概念是至关重要的。CVS是一个分布式版本控制系统,它允许开发人员对代码进行版本化管理,跟踪代码修改历史,...

    Eclipse中CVS使用

    1.3 CVS客户端在Eclipse中的使用 在Eclipse中,开发者可以方便地进行文件的提交和更新操作。首先,需要在Eclipse中配置CVS连接,包括服务器地址、用户信息等。然后,通过Eclipse的"Team"菜单,选择"Share Project"将...

    新linux低版本java运行cvs 和ant

    这两个工具在软件开发流程中扮演着重要角色,CVS是版本控制系统,而Ant是Java构建工具。在新Linux上安装并运行这些旧版本工具可能需要一些额外的步骤和注意事项。 首先,让我们关注如何在新Linux系统上安装CVS。CVS...

    ant使用指南(中文)

    Ant是Apache软件基金会下的一个Java项目,它是一个强大的构建工具,尤其在Java应用程序的构建、部署和自动化测试中发挥着重要作用。本指南将详细介绍Ant的基本概念、安装与配置、任务定义、属性处理、文件操作以及...

    在Eclipse中配置和使用CVS

    在 Eclipse 中,CVS 配置和使用非常重要,因为 Eclipse 自带的 repository 的版本控制没有提供 group 开发所带来的版本控制问题。 以下是 CVS 的一些基本知识点: 1. CVS 环境初始化:管理员需要设置 CVS 库的路径...

    在eclipse中安装和使用cvs

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

    Eclipse下使用CVS

    - **使用指南**:通过本书的练习5“使用CVS来开展小组工作”,读者可以深入了解如何在 Eclipse 中使用 CVS。 #### 四、CVS 使用界面的特点 - **CVS Repository Exploring 透视图**:此透视图集成了管理代码所需的...

    eclipse中安装配置和使用CVS

    在本文中,我们将深入探讨如何在Eclipse集成开发环境中安装、配置和使用CVS(Concurrent Versions System),这是一个流行的版本控制系统,用于管理软件项目。Eclipse作为一款强大的Java IDE,支持多种版本控制系统...

    CVS中文使用手册PDF

    CVS在开源社区中广泛使用,它可以帮助开发者记录文件的修改历史,合并不同人的改动,并且可以轻松地回滚到任何历史版本。 在《CVS中文使用手册》中,你将找到关于以下关键知识点的详细讲解: 1. **CVS基本概念**:...

    ant 中文帮助文档

    Ant是Apache软件基金会的一个开源项目,它是一款强大的构建工具,主要用在Java环境中,用于自动化构建、测试和部署Java应用程序。这个"ant中文帮助文档"是针对Ant的详细指南,旨在帮助开发者更好地理解和使用Ant的...

    cvs 使用说明cvs 使用说明

    在从CVS库选择项目的窗口中,选择使用现有库,接着选择要导入的项目,最后按照创建项目的向导完成项目导入。 ### 结语 CVS作为一种成熟的版本控制系统,虽然已被更现代的系统如Git所取代,但在某些特定场景下仍...

    Apache Ant入门教程

    Ant 在软件开发中的主要作用是管理和自动化源代码到可执行文件的转换过程,确保每次构建的一致性。传统的构建工具如 make 在 C 或 C++ 开发中常见,但它们依赖于特定平台的 shell 命令。与之相比,Ant 使用 Java 类...

    如何在myeclipse中把工程共享到部署在红旗linux中的cvs服务器中.txt

    通过以上步骤,不仅可以在红旗Linux中构建一个安全且功能完善的CVS服务器,还可以熟练地在MyEclipse环境中将项目共享至该服务器,实现跨平台的代码管理和团队协作。尽管CVS在现代开发环境中可能不是首选,但在特定...

    讲解Ant的应用

    Apache Ant是一个专门为Java项目设计的自动化构建工具,它的出现是为了满足开发者在跨平台项目构建时遇到的种种问题。在1998年,当时的构建工具如GNUMake、批处理文件和shell脚本都不能很好地支持跨平台的构建,于是...

    CVS配置与使用

    在其他计算机上,无需再次安装CVS,只需要在Eclipse中配置CVS连接。通过"Import" -&gt; "Projects from CVS",选择"Create a new repository location",输入主机IP地址和Repositorypath,即可连接到CVS服务器。 **...

Global site tag (gtag.js) - Google Analytics