首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

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

2012-12-18 
在ant中使用cvs功能自动完成每日构建核心提示:实现的主要功能是:自动从cvs中check out模块,然后编译,把编

在ant中使用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>

??

热点排行