您的位置:首页 > 其它

ant.xml文件

2015-07-22 15:47 501 查看
<?xml version="1.0" encoding="UTF-8"?>

<project name="工程名" basedir="." default="initTarget">

 <description>ant文件描述</description>

 <!--***************************************************************-->

 <!--***************************************************************-->

 <!--***************************************************************-->

 <!--*****************************************************************************************************************************************-->

 <!--**********************************************************注意事项***********************************************************************-->

 <!--*****************************************************************************************************************************************-->

 <!--1.CMS中通过ant调用pom.xml,对于maven仓库中不存在的本地jar包,需要添加denpendency和compilerplugin,maven仓库下载失败的jar包需要手动拷贝至.m2文件夹中,

 如用到jre下面的jsse.jar,jce.jar等包,如何无法获取到,可手动拷贝至Java_Home/lib目录下,然后作如下配置,且路径必须是反斜杆

  <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>2.3.2</version>

                <configuration>

                    <source>1.6</source>

                    <target>1.6</target>

                    <encoding>GBK</encoding>

                    <optimize>true</optimize>

                    <debug>false</debug>

                    <showDeprecation>false</showDeprecation>

                    <showWarnings>false</showWarnings>

                    <compilerArguments>

                        <verbose />

                        <bootclasspath>${java.home}\lib\rt.jar;${java.home}\lib\jce.jar;${java.home}\lib\jsse.jar</bootclasspath>

                    </compilerArguments>

                </configuration>

            </plugin>

  本地第三方包可如下配置,id是jar包名,版本可随意

  <dependency>

            <groupId>SwetakeQRCode</groupId>

            <artifactId>SwetakeQRCode</artifactId>

            <version>1.0.0</version>

        </dependency>

 -->

 <!--2.MSBuild需要添加至环境变量或使用全路径-->

 <!--3.subversion使用1.7.2版本,更具需要对项目升级svn upgrade-->

 <!--4.maven出现内存溢出,需要设置mvn.bat的内存大小set MAVEN_OPTS= -Xms128m -Xmx512m-->

 <!--MsBuild需要指定.Net Framework 3.5版本参数:toolsversion:3.5-->

 <!--

 -->

 <!--*****************************************************************************************************************************************-->

 <!--**********************************************************注意事项***********************************************************************-->

 <!--*****************************************************************************************************************************************-->

 

 

 <taskdef resource="net/sf/antcontrib/antlib.xml"/>

 

 <tstamp>

  <format property="build.time" pattern="yyyy-MM-dd HH-mm-ss" />

 </tstamp>

 

 <tstamp>

  <format property="build.date" pattern="yyyyMMdd" />

 </tstamp>

 

 <target name="initTarget">

  

  <!--*****************************Ant的一些用法*****************************

  ******************************判断文件或目录是否存在的语法********************************

  <property name="directory_path" value="/Intel/Logs"/> 

  <condition property="directory_exist" value="true" else="false"> 

   <available property="isAvailable" type="dir" file="${directory_path}"/> 

  </condition> 

  <echo message="目录是否存在:${directory_exist}" />

  

  <property name="file_path" value="/Intel/Logs/IntelCPHS.log"/> 

  <condition property="file_exist" value="true" else="false"> 

   <available property="isAvailable" type="file" file="${file_path}"/> 

  </condition> 

  <echo message="文件是否存在:${file_exist}" />

  

  *****************************bat调用ant,ant执行java类,怎样传递参数的*****************************

  在bat文件里这样写:

  call ant -D参数1="XXX" -D参数2="XXX",当然了,你的xml文件名字得是build.xml,否则你就得这样写:

  call ant -f xml的名字 -D参数1="XXX" -D参数2="XXX";

  然后在build.xml文件里用${参数1},${参数2}取得参数,在xml里调用java时再通过arg传给Java,如:

  <java fork="true" classname="a">

    <arg value="${参数1}"/>

    <arg value="${参数2}"/>  

    <classpath>

    <path refid="classpath.pointbase" />

    </classpath>

  </java>

  *****************************删除当前文件夹下的某一类文件和空的目录*****************************

  <delete includeEmptyDirs="true">

      <fileset dir="." includes="**/*.java"/>

  </delete>

  -->

  <echo message="Debug:Execution Path::==${Workspace}\BaseiVMS9600V1.1" />

  <echo message="Debug:BaseDir::==${basedir}" />

  

  <!--指定ant安装目录-->

  <path id="ant.contrib.lib"> 

   <fileset dir="D:/apache-ant-1.9.2/lib"> 

    <include name="**/*jar" /> 

   </fileset> 

  </path>

  

  <!--引用ant第三方包,用于正则表达式等高级语法,且必须放在这些高级语法之前引用-->

   <taskdef resource="net/sf/antcontrib/antcontrib.properties"> 

     <classpath> 

    <path refid="ant.contrib.lib" /> 

     </classpath> 

   </taskdef>

  

 

  <property name="version" value="${Version}"/><!--外部参数,版本-->

  <property name="company" value="${Company}"/><!--外部参数,分公司-->

  <property name="product1" value="9600"/><!--产品线缩写-->

  <property name="sharepath" value="${SharePath}"/><!--外部参数,共享路径-->

  <property name="tvmcpath" value="${TvmcPath}"/><!--外部参数,电视墙路径-->

  

  <property name="module" value="${Module}"/><!--外部参数,所选模块-->

  

  <property environment="env"/>

  <!--<delete dir="${basedir}/revision.txt"/>-->

  <property name="IsCmdBld" value="C:\Program Files (x86)\InstallShield\2013\System\IsCmdBld.exe" />

  <property name="MsBuild" value="C:\Windows\Microsoft.NET\Framework\v3.5\MsBuild.exe" />

  <property name="WarningLevel" value="WarningLevel=0" />

  

  <property name="Install.dir" value="${basedir}\common\Setup" />

  <condition property="hasInstall" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${Install.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${hasInstall}" arg2="0"/> 

   <then> 

      <e
4000
cho message="ERROR::Install目录${Install.dir}不存在,新建"></echo> 

      <mkdir dir="${Install.dir}"/>

   </then>

   <else> 

     <echo message="Install目录${Install.dir}存在,直接使用"></echo> 

   </else>    

  </if>

  

  <property name="script.dir" value="D:\jenkins\script" /><!--各种脚本存放路径-->

  

  <echo message="每次先清空上一次打包的成果物目录" />

  <!--会删除文件夹及其下所有文件-->

  <delete dir="${Install.dir}/Client_Install"/>

  <delete dir="${Install.dir}/Server_Install"/>

  <delete dir="${Install.dir}/tvmc_Install"/>

  <delete dir="${Install.dir}/CMS_Install"/>

  <delete dir="${Install.dir}/Ocx_Install"/>

  <mkdir dir="${Install.dir}/Client_Install"/>

  <mkdir dir="${Install.dir}/Server_Install"/>

  <mkdir dir="${Install.dir}/CMS_Install"/>

  <mkdir dir="${Install.dir}/Ocx_Install"/>

  <mkdir dir="${Install.dir}/tvmc_Install"/>

  

  <property name="JobName" value="ECH-iVMS9600-Base-v1.1-Full" />

  <mkdir dir="D:\jenkins\workspace\${JobName}\BaseiVMS9600V1.1-成果物"/>

  <property name="Result.dir" value="D:\jenkins\workspace\${JobName}\BaseiVMS9600V1.1-成果物" /><!--成果物目录,下面必须以Server和CMS分类-->

  

  

  <echo message="+=========================================================================================================+" /> 

        <echo message="+===============将成果物路径下的cmsocx.exe拷贝到ocx文件夹下,并将成果物路径下的cmsocx.exe删除=========+" />

        <echo message="+=================================================================================================================+" />

  <delete dir="${Result.dir}/ocx"/>

  <mkdir dir="${Result.dir}/ocx"/>

  <copy todir="${Result.dir}/ocx" file="${Result.dir}/Server/cmsocx.exe"/>

  <delete file="${Result.dir}/Server/cmsocx.exe"/>

   <echo message="+=========================================================================================================+" /> 

        <echo message="+===============将成果物路径下的cmsocx.exe拷贝到ocx文件夹下,并将成果物路径下的cmsocx.exe删除完成=====+" />

        <echo message="+=================================================================================================================+" />

  

  

  <echo message="+=========================================================================================================+" /> 

        <echo message="+===============将电视墙成果物(路径具体到svn压缩包的详细路径)下载到指定文件夹下===============================+" />

        <echo message="+=================================================================================================================+" />

  

  <delete dir="${Result.dir}/tvmc"/>

  <mkdir dir="${Result.dir}/tvmc"/>

  

     <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK SvnCheckoutTvmcBase.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='SvnCheckoutTvmcBase'/>

   <arg line='"${tvmcpath}"'/><!--电视墙成果物压缩包的详细路径-->

   <arg line='"${Result.dir}/tvmc"'/><!--将电视墙成果物压缩包下载到该路径下-->

  </exec>

  <echo message="+=============================================================================================================+" /> 

        <echo message="+===============将电视墙成果物(路径具体到svn压缩包的详细路径)下载到指定文件夹下,下载完成==================+" />

        <echo message="+==============================================================================================================+" />

  

  

  <!--<delete dir="D:\jenkins\workspace\${JobName}\${Ipm}-成果物"/>-->

  

  

  <!--公用组件的目录-->

  <property name="StaticComponent.dir" value="D:\jenkins\Install\StaticComponent" />

  <!--<property name="Tomcat" value="apache-tomcat-6.0.35_x64" />-->

  <property name="Tomcat" value="apache-tomcat-7.0.59" />

  

  <!--成果物目录-->

  <property name="Client_Install.dir" value="${Install.dir}\Client_Install" />

  <property name="Server_Install.dir" value="${Install.dir}\Server_Install" />

  <property name="Tvmc_Install.dir" value="${Install.dir}\tvmc_Install" />

  <property name="CMS_Install.dir" value="${Install.dir}\CMS_Install" />

  <property name="Ocx_Install.dir" value="${Install.dir}\Ocx_Install" />

  

  <!--打包工程的文件夹-->

  <property name="Client_ISEng.dir" value="${Install.dir}\Client" />

  <property name="Server_ISEng.dir" value="${Install.dir}\Server" />

  <property name="CMS_ISEng.dir" value="${Install.dir}\CMS" />

  <property name="OCX_ISEng.dir" value="${Install.dir}\OCX" />

  <property name="Tvmc_ISEng.dir" value="${Install.dir}\tvmc" />

  

  <!--打包工程的ism文件-->

  <property name="Client_ISM_Name" value="${Install.dir}\Client.ism" />

  <property name="Server_ISM_Name" value="${Install.dir}\Server.ism" />

  <property name="CMS_ISM_Name" value="${Install.dir}\CMS.ism" />

  <property name="OCX_ISM_Name" value="${Install.dir}\OCX.ism" />

  <property name="Tvmc_ISM_Name" value="${Install.dir}\tvmc.ism" />

  

  <!--存放打包后安装文件的目录-->

  <property name="IPM_Name" value="${Ipm}" /><!--外部参数,单号-->

  

  <property name="Package.dir" value="D:\jenkins\workspace\${JobName}\BaseiVMS9600V1.1-安装包" />

  <propertyregex property="IPM_Folder" input="${IPM_Name}" regexp="(.*)_(.*)_(.*)" select="\3"/><!--Stub-->

  <echo message="单号:${Ipm}"></echo>

  <property name="Package_IPM.dir" value="${Package.dir}\${Ipm}" />

  

  

  

  

  <!--License编译模块目录及是否存在条件-->

  <property name="License.dir" value="${basedir}/License" />

  <condition property="License" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${License.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${License}" arg2="0"/> 

   <then> 

      <echo message="ERROR::License目录${License.dir}不存在"></echo> 

   </then>

   <else> 

     <echo message="License目录${License.dir}存在"></echo> 

   </else>    

  </if> 

  

  <!--Common编译模块目录及是否存在条件-->

  <property name="Common.dir" value="${basedir}/common" />

  <condition property="Common" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${Common.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${Common}" arg2="0"/> 

   <then> 

      <echo message="ERROR::Common目录${Common.dir}不存在"></echo> 

   </then>

   <else> 

     <echo message="Common目录${Common.dir}存在"></echo> 

   </else>    

  </if> 

  

  <!--Server编译模块目录及是否存在条件-->

  <property name="SvrDir" value="${basedir}/Svr"/>

  <property name="ServerDir" value="${basedir}/Server"/>

  <condition property="SvrDirExist" value="true" else="false"> 

   <available property="isAvailable" type="dir" file="${SvrDir}"/> 

  </condition>

  <condition property="ServerDirExist" value="true" else="false"> 

   <available property="isAvailable" type="dir" file="${ServerDir}"/> 

  </condition> 

  <echo message="判断Server/Svr目录是否存在" />

  

  <if> 

   <equals arg1="${ServerDirExist}" arg2="true"/> 

   <then> 

    <property name="Server" value="1"/>

    <property name="Server.dir" value="${basedir}/Server"/>

    <echo >Server目录存在,用Server目录</echo> 

   </then>

  <elseif>

   <equals arg1="${SvrDirExist}" arg2="true"/> 

   <then> 

      <property name="Server" value="1"/>

      <property name="Server.dir" value="${basedir}/Svr"/>

      <echo >Server目录不存在,用Svr目录</echo> 

   </then>

  </elseif>

   <else> 

     <property name="Server" value="0"/>

     <echo >ERROR::Server/Svr目录都不存在</echo> 

   </else>    

  </if> 

  

  <property name="ams.dir" value="${Server.dir}/ams" />

  <property name="bms.dir" value="${Server.dir}/bms" />

  <property name="nms.dir" value="${Server.dir}/nms" />

  <property name="pms.dir" value="${Server.dir}/pms" />

  <property name="vrb.dir" value="${Server.dir}/vrb" />

  <condition property="ams" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${ams.dir}"/> 

  </condition>

  <condition property="bms" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${bms.dir}"/> 

  </condition>

  <condition property="nms" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${nms.dir}"/> 

  </condition>

  <condition property="pms" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${pms.dir}"/> 

  </condition>

  <condition property="vrb" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vrb.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${ams}" arg2="0"/> 

   <then> 

      <echo message="ERROR::ams目录${ams.dir}不存在"></echo> 

   </then>

   <else> 

     <echo message="ams目录${ams.dir}存在"></echo> 

   </else>    

  </if> 

  <if> 

   <equals arg1="${bms}" arg2="0"/> 

   <then> 

      <echo message="ERROR::bms目录${bms.dir}不存在"></echo> 

   </then>  

   <else> 

     <echo message="bms目录${bms.dir}存在"></echo> 

   </else>

  </if>

  <if> 

   <equals arg1="${nms}" arg2="0"/> 

   <then> 

      <echo message="ERROR::nms目录${nms.dir}不存在"></echo> 

   </then>

   <else> 

     <echo message="nms目录${nms.dir}存在"></echo> 

   </else>   

  </if>

  <if> 

   <equals arg1="${pms}" arg2="0"/> 

   <then> 

      <echo message="ERROR::pms目录${pms.dir}不存在"></echo> 

   </then>  

   <else> 

     <echo message="pms目录${pms.dir}存在"></echo> 

   </else> 

  </if>

  <if> 

   <equals arg1="${vrb}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vrb目录${vrb.dir}不存在"></echo> 

   </then> 

   <else> 

     <echo message="vrb目录${vrb.dir}存在"></echo> 

   </else> 

  </if>

  

  <!--Client编译模块目录及是否存在条件-->

  <property name="Client.dir" value="${basedir}/Client"/>

  <condition property="Client" value="1" else="0">  <!--如果存在值为1-->

   <available property="isAvailable" type="dir" file="${Client.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${Client}" arg2="0"/> 

   <then> 

      <echo message="ERROR::Client目录${Client.dir}不存在"></echo> 

   </then> 

   <else> 

     <echo message="Client目录${Client.dir}存在"></echo> 

   </else> 

  </if>

  

  <property name="csc.dir" value="${Client.dir}/csc" />

  <condition property="csc" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${csc.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${csc}" arg2="0"/> 

   <then> 

      <echo message="ERROR::csc目录${csc.dir}不存在"></echo> 

   </then> 

   <else> 

     <echo message="csc目录${csc.dir}存在"></echo> 

   </else> 

  </if>

  

  <property name="ControlClient.dir" value="${Client.dir}/csc" />

  <condition property="ControlClient" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${ControlClient.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${ControlClient}" arg2="0"/> 

   <then> 

      <echo message="ERROR::ControlClient目录${ControlClient.dir}不存在"></echo> 

   </then> 

   <else> 

     <echo message="ControlClient目录${ControlClient.dir}存在"></echo> 

   </else> 

  </if>

  

  <!--CMS编译模块目录及是否存在条件-->

  <property name="CMS.dir" value="${basedir}/CMS"/>

  <condition property="CMS" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${CMS.dir}"/> 

  </condition>

  <if> 

   <equals arg1="${CMS}" arg2="0"/> 

   <then> 

      <echo message="ERROR::CMS目录${CMS.dir}不存在"></echo> 

   </then> 

   <else> 

     <echo message="CMS目录${CMS.dir}存在"></echo> 

   </else> 

  </if>

  

  <!--*******************目录是否存在的条件************************-->

  <condition property="Licensecondition"> 

   <equals arg1="${License}" a
22797
rg2="1" /> 

  </condition>

  <condition property="Commoncondition"> 

   <equals arg1="${Common}" arg2="1" /> 

  </condition>

  <condition property="Serverscondition"> 

   <equals arg1="${Server}" arg2="1" /> 

  </condition>

  <condition property="Clientscondition"> 

   <equals arg1="${Client}" arg2="1" /> 

  </condition> 

  <condition property="CMSscondition"> 

   <equals arg1="${CMS}" arg2="1" /> 

  </condition>

  

  <echo message="开始进行Ant脚本执行${build.time}" />

  <echo  message="先判定目录是否存在,在存在的条件下,再根据外部bat参数决定是否需要编译,License,Common默认都执行"/>

 

  <echo >开始执行License${build.time}</echo>

  <antcall target="buildLicense"></antcall>

  <echo >开始执行Common${build.time}</echo>

  <antcall target="buildCommon"></antcall>

  <if> 

   <equals arg1="${hasServer}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行Server${build.time}</echo>

       <antcall target="makeServer"></antcall>

   </then>

   <else>

    <echo >外部不需要执行Server</echo>

   </else>

  </if>

  <if> 

   <equals arg1="${hasClient}" arg2="1"/>  <!--外部参数-->

   <then> 

       <echo >开始执行Client${build.time}</echo>

       <antcall target="makeClient"></antcall>

   </then>

   <else>

    <echo >外部不需要执行Client</echo>

   </else>

  </if>

  <if> 

   <equals arg1="${hasCMS}" arg2="1"/>  <!--外部参数-->

   <then> 

       <echo >开始执行CMS${build.time}</echo>

       <antcall target="makeCMS"></antcall>

   </then>

   <else>

    <echo >外部不需要执行CMS</echo>

   </else>

  </if>

   <if> 

   <equals arg1="${hasTvmc}" arg2="1"/>  <!--外部参数-->

   <then> 

       <echo >开始执行TVMC${build.time}</echo>

       <antcall target="makeTvmc"></antcall>

   </then>

   <else>

    <echo >外部不需要执行TVMC</echo>

   </else>

  </if>

  

  <!--此处调试使用,运行所有的模块

  <antcall target="buildServer"></antcall>

  <antcall target="buildClient"></antcall>

  <antcall target="buildCMS"></antcall>-->

  <echo message="+=============================================+" />

  <echo message="     跑马拉松阿,终于跑完咯,all tasks are finished here...      " />

  <echo message="+=============================================+" />

 </target>

 <!--*************************************编译打包的各个Target***********************************-->

 

 

 <!--*************************************Common Target Begin***********************************--> 

 <target name="preCommon" if="Commoncondition">

 </target>

 <target name="buildCommon"  depends="preCommon" if="Commoncondition">

  <!--<echo message="+=============================================+" />

  <echo message="          Common 正在编译WarningLevel=${WarningLevel} ........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${Common.dir}/sntp/sntp_server" executable="${MsBuild}" >

   <arg line=' SntpServer.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Common.dir}/sntp/sntp_client" executable="${MsBuild}" >

   <arg line=' SntpClient.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Common.dir}/RecordQueryService/code" executable="${MsBuild}" >

   <arg line=' RecordQuerySevice.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Common.dir}/watchdog" executable="${MsBuild}" >

   <arg line=' ServiceWatchdog.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          Common  编译完成........      " />

  <echo message="+=============================================+" />-->

 </target>

 

 <!--*************************************License Target Begin***********************************-->

 <target name="preLicense"  if="Licensecondition">

 </target>

 <target name="buildLicense"  depends="preLicense" if="Licensecondition">

 </target>

 

 <!-- *************************************服务器Target Begin::源文件所在目录*************************************-->

 <target name="prebuildServer" if="Serverscondition">

  <echo message="处理common等组件到Server_Install" />

  

   

  <if> 

   <equals arg1="${Common}" arg2="1"/> 

   <then> 

  <echo message="+===========================================================+" />

     <echo message="          拷贝sntp_client到Server安装文件路径........      " />

  <echo message="+===========================================================+" />

    <copy todir="${Server_Install.dir}/sntp_client">

     <fileset dir="${Common.dir}/sntp/sntp_client/bin/release">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <!--<exclude name="**/*.pdb" />-->

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>

  <echo message="+===========================================================+" />

     <echo message="          拷贝sntp_client到Server安装路径完成........      " />

  <echo message="+===========================================================+" />

     

  <!--<echo message="+=============================================+" />

  <echo message="          sntp_client  正在提交........      " />

  <echo message="+=============================================+" />-->

  

  <!--<exec dir="${Common.dir}/sntp/sntp_client/bin/release" executable="svn " >

   <arg line='ci -m "提交sntp_client(${Common.dir}/sntp/sntp_client/bin/release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${Common.dir}/sntp/sntp_client/bin/release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

      

  <!--<echo message="+=============================================+" />

  <echo message="          sntp_client  提交完成........      " />

  <echo message="+=============================================+" />-->

  

  <echo message="+=========================================================+" />

  <echo message="          拷贝watchdog到Server安装文件路径........      " />

  <echo message="+=========================================================+" />

    <copy todir="${Server_Install.dir}">

     <fileset dir="${Common.dir}/watchdog/Release">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <!--<exclude name="**/*.pdb" />-->

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>

  <echo message="+=========================================================+" />

  <echo message="          拷贝watchdog到Server安装路径完成........      " />

  <echo message="+=========================================================+" />

  

  <echo message="+=========================================================+" />

  <echo message="          拷贝vc需要的运行环境到Server安装路径....  " />

  <echo message="+=========================================================+" />

  <copy todir="${Server_Install.dir}" file="${StaticComponent.dir}/vcredist_x64.exe"/>

  <copy todir="${Server_Install.dir}" file="${StaticComponent.dir}/vcredist_x86.exe"/>

  <echo message="+=========================================================+" />

  <echo message="          拷贝vc需要的运行环境到Server安装路径,拷贝完成 " />

  <echo message="+=========================================================+" />

  

  

  

  <!--<echo message="+=============================================+" />

  <echo message="          watchdog  正在提交........      " />

  <echo message="+=============================================+" />-->

  

  <!--<exec dir="${Common.dir}/watchdog/Release" executable="svn " >

   <arg line='ci -m "提交watchdog(${Common.dir}/watchdog/Release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${Common.dir}/watchdog/Release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

      

  <!--<echo message="+=============================================+" />

  <echo message="          watchdog  提交完成........      " />

  <echo message="+=============================================+" />-->

   </then>

   <else>

    <!--<echo >Sntp_client和watchdog非定制,直接copy成果物</echo> -->

    <!--<copy todir="${Server_Install.dir}">

     <fileset dir="${Result.dir}\sntp_client">

      <include name="*.*"/>

     </fileset>

    </copy> comment:sntp_client在UnZipAndRarUtilCopy中处理

    <copy todir="${Server_Install.dir}">

     <fileset dir="${StaticComponent.dir}\Server\看门狗">

      <include name="*.*"/>

     </fileset>-->

       <!--含中文,需指定编码,且含ant.jar包,需在classpath中指定-->

    <!--<exec dir="${script.dir}" executable="javac ">

     <arg line='-encoding GBK UnZipAndRarUtilCopy.java'/>

    </exec>

    <exec dir="${script.dir}" executable="java ">

     <arg line='UnZipAndRarUtilCopy'/>

     <arg line='"${Result.dir}/Server"'/>--><!--需要解压的成果物文件位置-->

     <!--<arg line='"${Server_Install.dir}"'/>--><!--解压后文件位置-->

    <!--</exec>-->

   </else>

  </if>

 

  

 </target>

 <target name="buildServer" depends="prebuildServer" if="Serverscondition"> 

    

        <echo message="+========================================================================================================+" /> 

        <echo message="+===============开始从基线成果物目录下删除定制和共享定制的成果物压缩包===============================+" />

        <echo message="+=========================================================================================================+" />

     <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilBase9600.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilBase9600'/>

   <arg line='"${Result.dir}/Server"'/><!--需要解压的成果物文件位置-->

   <arg line='"${Server_Install.dir}"'/><!--解压后文件位置-->

   <arg line='2'/><!--DEL-->

   <arg line='"${module}"'/>

   <arg line='"0"'/>

  </exec>

  

  <echo message="+===================================================================================================================+" /> 

        <echo message="+===============开始从基线成果物目录下删除定制和共享定制的成果物压缩包,删除完成===============================+" />

        <echo message="+===================================================================================================================+" />

  

  <echo message="+=======================================================================================================+" /> 

        <echo message="+===============将基线成果物目录下的所有压缩包解压至安装目录下用于打包===============================+" />

        <echo message="+=======================================================================================================+" />

  

  <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilBase9600.java'/><!--含中文,需指定编码,且含ant.jar包,需在classpath中指定-->

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilBase9600'/>

   <arg line='"${Result.dir}/Server"'/><!--需要解压的成果物文件位置-->

   <arg line='"${Server_Install.dir}"'/><!--解压后文件位置-->

   <arg line='0'/><!--解压-->

   <arg line='"${module}"'/>

   <arg line='"0"'/>

  </exec>

  

  <echo message="+=======================================================================================================+" /> 

        <echo message="+===============将基线成果物目录下的所有压缩包解压至安装目录下,解压完成===============================+" />

        <echo message="+=======================================================================================================+" />

  

  

     

  <!--<exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilCopy.java'/>--><!--含中文,需指定编码,且含ant.jar包,需在classpath中指定-->

  <!--</exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilCopy'/>

   <arg line='"${Result.dir}/Server"'/>--><!--需要解压的成果物文件位置-->

   <!--<arg line='"${Server_Install.dir}"'/>--><!--解压后文件位置-->

   <!--<arg line='1'/>--><!--rename-->

  <!--</exec>-->

  

  <condition property="amsCondition"> 

   <equals arg1="${ams}" arg2="1" /> 

  </condition> 

  <if> 

   <equals arg1="${hasAms}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行ams拷贝</echo>

       <antcall target="ams"></antcall>

   </then>

   <else>

    <echo >ams不需要拷贝</echo>

   </else>

  </if>

  

  

  <condition property="bmsCondition"> 

   <equals arg1="${bms}" arg2="1" /> 

  </condition> 

  <if> 

   <equals arg1="${hasBms}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行bms拷贝</echo>

       <antcall target="bms"></antcall>

   </then>

   <else>

    <echo >bms不需要拷贝</echo>

   </else>

  </if>

  

  

  <condition property="nmsCondition"> 

   <equals arg1="${nms}" arg2="1" /> 

  </condition> 

  <if> 

   <equals arg1="${hasNms}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行nms拷贝</echo>

      <antcall target="nms"></antcall>

   </then>

   <else>

    <echo >nms不需要拷贝</echo>

   </else>

  </if>

  

  <condition property="pmsCondition"> 

   <equals arg1="${pms}" arg2="1" />

  </condition> 

  <if> 

   <equals arg1="${hasPms}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行pms拷贝</echo>

      <antcall target="pms"></antcall>

   </then>

   <else>

    <echo >pms不需要拷贝</echo>

   </else>

  </if>

  

  

  

  <condition property="vrbCondition"> 

   <equals arg1="${vrb}" arg2="1" />

  </condition> 

  <if> 

   <equals arg1="${hasVrb}" arg2="1"/> <!--外部参数-->

   <then> 

       <echo >开始执行vrb拷贝</echo>

     <antcall target="vrb"></antcall>

   </then>

   <else>

    <echo >vrb不需要拷贝</echo>

   </else>

  </if>

  

  

  

 </target>

<!-- <target name="writeVersion" depends="buildServer" if="Serverscondition"> 

  <exec dir="${ams.dir}" executable="svn " output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="amsRevision" srcFile="revision.txt"/>

  <propertyregex property="ams_revision" input="${amsRevision}" regexp="最后修改的版本: (.*)\r" select="\1"/>

  <propertyregex property="ams_url" input="${amsRevision}" regexp="URL: (.*)\r" select="\1"/>

  <echo file="${Server_Install.dir}/ams/ams.version" append="false">${ams_url}:${ams_revision}</echo>

  

  <exec dir="${bms.dir}" executable="svn " output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="bmsRevision" srcFile="revision.txt"/>

  <propertyregex property="bms_revision" input="$bmsRevision}" regexp="最后修改的版本: (.*)\r" select="\1"/>

  <propertyregex property="bms_url" input="${bmsRevision}" regexp="URL: (.*)\r" select="\1"/>

  <echo file="${Server_Install.dir}/bms/bms.version" append="false">${bms_url}:${bms_revision}</echo>

  

  <exec dir="${nms.dir}" executable="svn" output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="nmsRevision" srcFile="revision.txt"/>

  <propertyregex property="nms_revision" input="${nmsRevision}" regexp="最后修改的版本: (.*)\r" select="\1"/>

  <propertyregex property="nms_url" input="${nmsRevision}" regexp="URL: (.*)\r" select="\1"/>

  <echo file="${Server_Install.dir}/nms/nms.version" append="false">${nms_url}:${nms_revision}</echo>

  

  <exec dir="${pms.dir}" executable="svn " output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="pmsRevision" srcFile="revision.txt"/>

  <propertyregex property="pms_revision" input="${pmsRevision}" regexp="最后修改的版本: (.*)\r" select="\1"/>

  <propertyregex property="pms_url" input="${pmsRevision}" regexp="URL: (.*)\r" select="\1"/>

  <echo file="${Server_Install.dir}/pms/pms.version" append="false">${pms_url}:${pms_revision}</echo>

  <exec dir="${vrb.dir}" executable="svn " output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="vrbRevision" srcFile="revision.txt"/>

  <propertyregex property="vrb_revision" input="${vrbRevision}" regexp="最后修改的版本: (.*)\r" select="\1"/>

  <propertyregex property="vrb_url" input="${vrbRevision}" regexp="URL: (.*)\r" select="\1"/>

  <echo file="${Server.dir}/Server_Install/vrb/vrb.version" append="false">${vrb_url}:${vrb_revision}</echo>

 </target> -->

 <target name="makeServer" depends="buildServer" if="Serverscondition"> 

 

      <exec dir="${Common.dir}/watchdog" executable="${MsBuild}" >

   <arg line=' ServiceWatchdog.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

     <echo message="+=============================================+" />

  <echo message="          重命名服务器文件夹........          " />

  <echo message="+=============================================+" />

  

     <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilBase9600.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilBase9600'/>

   <arg line='"${Result.dir}/Server"'/><!--需要解压的成果物文件位置-->

   <arg line='"${Server_Install.dir}"'/><!--解压后文件位置-->

   <arg line='1'/><!--rename-->

   <arg line='"${module}"'/>

   <arg line='"0"'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="          重命名服务器文件夹完成........      " />

  <echo message="+=============================================+" />

  

  

  <echo message="+==============================================================+" />

  <echo message="          判断安装目录下各个服务器目录是否存在........      " />

  <echo message="+===============================================================+" />

  <property name="vag.path" value="${Server_Install.dir}/vag" />

  <condition property="vag_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vag.path}"/> 

  </condition>

  <property name="ams.path" value="${Server_Install.dir}/ams" />

  <condition property="ams_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${ams.path}"/> 

  </condition>

  <property name="bms.path" value="${Server_Install.dir}/bms" />

  <condition property="bms_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${bms.path}"/> 

  </condition>

  <property name="dc.path" value="${Server_Install.dir}/dc" />

  <condition property="dc_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${dc.path}"/> 

  </condition>

  <property name="dms.path" value="${Server_Install.dir}/dms" />

  <condition property="dms_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${dms.path}"/> 

  </condition>

  <property name="kps.path" value="${Server_Install.dir}/kps" />

  <condition property="kps_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${kps.path}"/> 

  </condition>

  <property name="ncg.path" value="${Server_Install.dir}/ncg" />

  <condition property="ncg_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${ncg.path}"/> 

  </condition>

  <property name="nms.path" value="${Server_Install.dir}/nms" />

  <condition property="nms_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${nms.path}"/> 

  </condition>

  <property name="nvrvod.path" value="${Server_Install.dir}/nvrvod" />

  <condition property="nvrvod_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${nvrvod.path}"/> 

  </condition>

  <property name="pcnvr.path" value="${Server_Install.dir}/pcnvr" />

  <condition property="pcnvr_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${pcnvr.path}"/> 

  </condition>

  <property name="pms.path" value="${Server_Install.dir}/pms" />

  <condition property="pms_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${pms.path}"/> 

  </condition>

  <property name="vtdu.path" value="${Server_Install.dir}/vtdu" />

  <condition property="vtdu_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vtdu.path}"/> 

  </condition>

  <property name="tvms.path" value="${Server_Install.dir}/tvms" />

  <condition property="tvms_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${tvms.path}"/> 

  </condition>

  <property name="vod.path" value="${Server_Install.dir}/vod" />

  <condition property="vod_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vod.path}"/> 

  </condition>

  <property name="vrb.path" value="${Server_Install.dir}/vrb" />

  <condition property="vrb_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vrb.path}"/> 

  </condition>

  <property name="vrm.path" value="${Server_Install.dir}/vrm" />

  <condition property="vrm_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vrm.path}"/> 

  </condition>

  <property name="vtm.path" value="${Server_Install.dir}/vtm" />

  <condition property="vtm_path" value="1" else="0"> 

   <available property="isAvailable" type="dir" file="${vtm.path}"/> 

  </condition>

  

  <if> 

   <equals arg1="${vag_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vag目录${vag.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vag::目录${vag.path}存在"></echo> 

   </else>    

  </if> 

  

  <if> 

   <equals arg1="${ams_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::ams目录${ams.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="ams::目录${ams.path}存在"></echo> 

   </else>    

  </if> 

    

  <if> 

   <equals arg1="${bms_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::bms目录${bms.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="bms::目录${bms.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${dc_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::dc目录${dc.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="dc::目录${dc.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${dms_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::dms目录${dms.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="dms::目录${dms.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${kps_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::kps目录${kps.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="kps::目录${kps.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${ncg_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::ncg目录${ncg.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="ncg::目录${ncg.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${nms_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::nms目录${nms.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="nms::目录${nms.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${nvrvod_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::nvrvod目录${nvrvod.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="nvrvod::目录${nvrvod.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${pcnvr_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::pcnvr目录${pcnvr.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="pcnvr::目录${pcnvr.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${pms_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::pms目录${pms.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="pms::目录${pms.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${vtdu_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vtdu目录${vtdu.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vtdu::目录${vtdu.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${tvms_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::tvms目录${tvms.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="tvms::目录${tvms.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${vod_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vod目录${vod.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vod::目录${vod.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${vrb_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vrb目录${vrb.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vrb::目录${vrb.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${vrm_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vrm目录${vrm.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vrm::目录${vrm.path}存在"></echo> 

   </else>    

  </if>

  <if> 

   <equals arg1="${vtm_path}" arg2="0"/> 

   <then> 

      <echo message="ERROR::vtm目录${vtm.path}不存在"></echo> 

   </then>

   <else> 

     <echo message="vtm::目录${vtm.path}存在"></echo> 

   </else>    

  </if>

  <echo message="+=======================================================================================================================================================================================================================================================================================================================+"
/>

  <echo message="          目录是否存在:vag:${vag_path},ams:${ams_path},bms:${bms_path},dc:${dc_path},dms:${dms_path},kps:${kps_path},ncg:${ncg_path},nms:${nms_path},nvrvod:${nvrvod_path},pcnvr:${pcnvr_path},pms:${pms_path},vtdu:${vtdu_path},tvms:${tvms_path},vod:${vod_path},vrb:${vrb_path},vrm:${vrm_path},vtm:${vtm_path}  
" />

  <echo message="           (0:表示该目录不存在,1:表示该目录存在)........      " />

  <echo message="+=======================================================================================================================================================================================================================================================================================================================+"
/>

  

         <exec dir="${script.dir}" executable="javac">

   <arg line='-encoding GBK ReadSvnNumberBase.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java" output="${Result.dir}\revisionNumber.txt">

   <arg line='ReadSvnNumberBase'/>

   <arg line='${Result.dir}\Server'/>

  </exec>

  <loadfile property="Serverrevision" srcFile="${Result.dir}\revisionNumber.txt"/>

  <echo message="+=============================================+" />

  <echo message="               ${Serverrevision}              " />

  <echo message="+=============================================+" />

  <propertyregex property="Server_revision" input="${Serverrevision}" regexp="(.*)maxSvnNumber: (.*)\r" select="\2"/>

  <!--<delete dir="${Server.dir}/revision.txt"/>-->

  <echo message="+=================================================+" />

  <echo message="            Server SVN 版本:${Server_revision}    " />

  <echo message="+=================================================+" />

  

  <copy todir="${Server_Install.dir}" file="${Result.dir}\revisionNumber.txt"/>

  

  <echo message="+=============================================+" />

  <echo message="            Server SVN 版本+1                 " />

  <echo message="+=============================================+" />

  

  <var name="op1" value="${Server_revision}"/> 

        <var name="op2" value="1"/> 

        <var name="op" value="+"/> 

        <math result="result" operand1="${op1}" operation="${op}" operand2="${op2}" datatype="int"/> 

        <echo>${op1} ${op} ${op2} = ${result}</echo> 

  

  <echo message="+=============================================+" />

  <echo message="        Server SVN 版本+1:完成 ${result}         " />

  <echo message="+=============================================+" />

  <echo message="+=============================================+" />

  <echo message="            正在制作Server安装包........      " />

  <echo message="+=============================================+" />

   

  <exec dir="${Install.dir}" executable="${IsCmdBld}" >

    <arg line=' -p "${Server_ISM_Name}" -c COMP'/>

  </exec>

  <rename src="${Server_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Setup.exe" dest="${Server_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Server_Setup_${version}_${result}_Build${build.date}.exe"/>

  <echo message="+=============================================+" />

  <echo message="            制作Server安装包成功      " />

  <echo message="+=============================================+" />

  <copy todir="${Package.dir}" file="${Server_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Server_Setup_${version}_${result}_Build${build.date}.exe"/>

  <delete file="${Server_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Server_Setup_${version}_${result}_Build${build.date}.exe"/>

  

  <echo message="+=============================================+" />

  <echo message="            将Server安装包上传SVN..      " />

  <echo message="+=============================================+" />

 

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='add Server_Setup_${version}_${result}_Build${build.date}.exe --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='ci -m "提交Server_Setup_${version}_${result}_Build${build.date}.exe安装包" . --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

  <arg line=' update .'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="            Server安装包上传svn完成..     " />

  <echo message="+=============================================+" />

    

  <delete file="${Package.dir}/Server_Setup_${version}_${result}_Build${build.date}.exe"/>

 </target>

 

 <target name="ams" if="amsCondition"> 

  <!--<echo message="+=============================================+" />

  <echo message="          ams  正在编译........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${ams.dir}/code/alarm_simulator" executable="${MsBuild}" >

   <arg line=' alarm_simulator.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${ams.dir}/code" executable="${MsBuild}" >

   <arg line=' alarm.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          ams  编译完成........      " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          ams  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Server_Install.dir}/ams">

   <fileset dir="${ams.dir}/code/bin/vs2008_release">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <!--<exclude name="**/*.pdb" />-->

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          ams  拷贝完成........      " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          ams  正在提交........      " />

  <echo message="+=============================================+" />-->

  

  <!--<exec dir="${ams.dir}/code/bin/vs2008_release" executable="svn " >

   <arg line='ci -m "提交ams(${ams.dir}/code/bin/vs2008_release文件夹下)自动编译文件" .  />

  </exec>

  <exec dir="${ams.dir}/code/bin/vs2008_release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

    

  <!--<echo message="+=============================================+" />

  <echo message="          ams  提交完成........      " />

  <echo message="+=============================================+" />-->

 </target>

 <target name="bms" if="bmsCondition"> 

  <!--<echo message="+=============================================+" />

  <echo message="          bms  正在编译........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${bms.dir}/code/public/zeromq/builds/msvc" executable="${MsBuild}" >

   <arg line=' msvc.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${bms.dir}/code" executable="${MsBuild}" >

   <arg line=' bayonet.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          bms  编译完成........      " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          bms  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Server_Install.dir}/bms">

   <fileset dir="${bms.dir}/code/Release">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <!--<exclude name="**/*.pdb" />-->

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          bms  拷贝完成........      " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          bms  正在提交........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${bms.dir}/code/Release" executable="svn " >

   <arg line='ci -m "提交bms(${bms.dir}/code/Release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${bms.dir}/code/Release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          bms  提交完成........      " />

  <echo message="+=============================================+" />-->

 </target>

 <target name="nms" if="nmsCondition"> 

  <!--<echo message="+=============================================+" />

  <echo message="          nms  正在编译........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${nms.dir}/code" executable="${MsBuild}" >

   <arg line=' nms.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          nms  编译完成........      " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          nms  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Server_Install.dir}/nms">

   <fileset dir="${nms.dir}/code/bin/nms/nms_vs2008_release">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <!--<exclude name="**/*.pdb" />-->

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          nms  拷贝完成........      " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          nms  正在提交........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${nms.dir}/code/bin/nms/nms_vs2008_release" executable="svn " >

   <arg line='ci -m "提交nms(${nms.dir}/code/bin/nms/nms_vs2008_release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${nms.dir}/code/bin/nms/nms_vs2008_release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          nms  提交完成........      " />

  <echo message="+=============================================+" />-->

 </target>

 

 <target name="pms" if="pmsCondition"> 

  <!--<echo message="+=============================================+" />

  <echo message="          pms  正在编译........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${pms.dir}/code/src/IocpStore" executable="${MsBuild}" >

   <arg line=' IocpStore.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${pms.dir}/code/src/pic_format_tool" executable="${MsBuild}" >

   <arg line=' pic_format_tool.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${pms.dir}/code/src/format_tool_mfc" executable="${MsBuild}" >

   <arg line=' format_tool_mfc.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${pms.dir}/code/src/VrpTest" executable="${MsBuild}" >

   <arg line=' VrpTest.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${pms.dir}/code/src/vrbClientSDK" executable="${MsBuild}" >

   <arg line=' vrbClientSDK.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  

  <exec dir="${pms.dir}/code/src" executable="${MsBuild}" >

   <arg line=' pms.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          pms  编译完成........                " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          pms  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Server_Install.dir}/pms">

   <fileset dir="${pms.dir}/code/bin/vs2008_release">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <!--<exclude name="**/*.pdb" />-->

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          pms  拷贝完成........      " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          pms  正在提交........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${pms.dir}/code/bin/vs2008_release" executable="svn " >

   <arg line='ci -m "提交pms(${pms.dir}/code/bin/vs2008_release文件夹下)自动编译文件" .'/>

  </exec>

  <exec dir="${pms.dir}/code/bin/vs2008_release" executable="svn " >

  <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          pms  提交完成........      " />

  <echo message="+=============================================+" />-->

 

 </target>

 

 <target name="vrb" if="vrbCondition"> 

  <!--<echo message="+=============================================+" />

  <echo message="          vrb  正在编译webservice.sln........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${vrb.dir}/code/src" executable="${MsBuild}" >

   <arg line=' webservice.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          vrb  正在编译vrb.sln........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${vrb.dir}/code/src" executable="${MsBuild}" >

   <arg line=' vrb.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          vrb  编译完成........      " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          vrb  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Server_Install.dir}/vrb">

   <fileset dir="${vrb.dir}/code/bin/release">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <!--<exclude name="**/*.pdb" />-->

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          vrb  拷贝完成........      " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          vrb  正在提交........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${vrb.dir}/code/bin/release" executable="svn " >

   <arg line='ci -m "提交vrb(${vrb.dir}/code/bin/release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${vrb.dir}/code/bin/release" executable="svn " >

    <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          vrb  提交完成........      " />

  <echo message="+=============================================+" />-->

 </target>

 

 <target name="prebuildClient" if="Clientscondition">

 <echo message="拷贝MapOcx\MapOcx.ocx,VideoPlayer\codecs\setup.ocx到Client安装文件路径" />

  <copy todir="${Client_Install.dir}/MapOcx" file="${csc.dir}/code/CMS_ControlClientRun/MapOcx/MapOcx.ocx"/>

  <copy todir="${Client_Install.dir}/VideoPlayer/codecs" file="${csc.dir}/code/CMS_ControlClientRun/VideoPlayer/codecs/setup.ocx"/>

 </target>

 

 <target name="buildClient" depends="prebuildClient" if="Clientscondition">

  <condition property="ControlClientscondition"> 

   <equals arg1="${ControlClient}" arg2="1" /> 

  </condition> 

  <antcall target="ControlClient"></antcall>

 </target>

 

 <target name="makeClient" depends="buildClient"  if="Clientscondition"><!--depends="buildClient"-->

 

  <exec dir="${csc.dir}" executable="svn " output="${csc.dir}\revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="Clientrevision" srcFile="${csc.dir}\revision.txt"/>

  <propertyregex property="Client_revision" input="${Clientrevision}" regexp="(.*)Last Changed Rev: (.*)\r" select="\2"/>

  <delete file="${csc.dir}/revision.txt"/>

  <echo message="+=============================================+" />

  <echo message="            Client SVN 版本:${Client_revision}........      " />

  <echo message="+=============================================+" />

  <echo message="+=============================================+" />

  <echo message="            正在制作Client安装包........      " />

  <echo message="+=============================================+" />

  <exec dir="${Install.dir}" executable="${IsCmdBld}" >

    <arg line=' -p "${Client_ISM_Name}" -c COMP'/>

  </exec>

  <rename src="${Client_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Setup.exe" dest="${Client_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe"/>

  <echo message="+=============================================+" />

  <echo message="            制作Client安装包成功      " />

  <echo message="+=============================================+" />

  <copy todir="${Package.dir}" file="${Client_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe"/>

  <delete file="${Client_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe"/>

  

  <echo message="+=============================================+" />

  <echo message="            将Client安装包上传SVN..      " />

  <echo message="+=============================================+" />

 

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='add CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='ci -m "提交CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe安装包" . --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

  <arg line=' update .'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="            Client安装包上传svn完成..     " />

  <echo message="+=============================================+" />

  

  <delete file="${Package.dir}/CSC_Setup_${version}_${Client_revision}_Build${build.date}.exe"/>

  

 </target>

 

 <target name="ControlClient" if="ControlClientscondition"> 

   

  <!--<exec dir="${csc.dir}" executable="svn " output="revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="Clientrevision" srcFile="revision.txt"/>

  <propertyregex property="Client_revision" input="${Clientrevision}" regexp="(.*)最后修改的版本: (.*)\r" select="\2"/>

  <echo message="+=============================================+" />

  <echo message="            ${Client_revision}........      " />

  <echo message="+=============================================+" /> -->

  <!--<echo message="+=============================================+" />

  <echo message="          csc  正在编译........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${Client.dir}/common/streamlayer" executable="${MsBuild}" >

   <arg line=' StreamLayer.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/pinyinlib" executable="${MsBuild}" >

   <arg line=' PinyinLib.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/DevAccessInfo" executable="${MsBuild}" >

   <arg line=' DevAccessInfo.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/multinetsdk/MultiNetDeviceDLL" executable="${MsBuild}" >

   <arg line=' MultiNetDevice.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/componets/PreviewLayer" executable="${MsBuild}" >

   <arg line=' PreviewLayer.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/componets/PlayBackLayer" executable="${MsBuild}" >

   <arg line=' PlayBackLayer.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/backup/BurnData" executable="${MsBuild}" >

   <arg line=' BurnData.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/common/backup" executable="${MsBuild}" >

   <arg line=' Backup.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/autoupdate" executable="${MsBuild}" >

   <arg line=' BuildXML.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/ncg_internal/CascStreamSDK" executable="${MsBuild}" >

   <arg line=' CascStreamSDK.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/ncg_internal/Cascade_SDK" executable="${MsBuild}" >

   <arg line=' Cascade_SDK.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/videoedit" executable="${MsBuild}" >

   <arg line=' Wuxi_FileEditor.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  

  <exec dir="${Client.dir}/tool/pictureview" executable="${MsBuild}" >

   <arg line=' PictureViewTest.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/autoupdate/UpDate" executable="${MsBuild}" >

   <arg line=' UpDate.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild'/>

  </exec>

  <exec dir="${Client.dir}/tool/ConfigTools" executable="${MsBuild}" >

   <arg line=' ConfigTools.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/tool/platform/平台对外接口(windows)" executable="${MsBuild}" >

   <arg line=' Platform.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  

  <exec dir="${Client.dir}/ocx/preview/code" executable="${MsBuild}" >

   <arg line=' PlayView_OCX.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/ocx/playback/code" executable="${MsBuild}" >

   <arg line=' PlayBack_OCX.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/ocx/mapocx/code" executable="${MsBuild}" >

   <arg line=' MapOcx.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  

  <exec dir="${csc.dir}/code" executable="${MsBuild}" >

   <arg line=' csc.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          csc  编译完成........      " />

  <echo message="+=============================================+" />-->

  <echo message="+=============================================+" />

  <echo message="          csc  正在拷贝........      " />

  <echo message="+=============================================+" />

  <copy todir="${Client_Install.dir}">

   <fileset dir="${csc.dir}/code/CMS_ControlClientRun">

    <exclude name="**/*.lib" />

    <exclude name="**/*.svn" />

    <exclude name="**/*.pdb" />

    <exclude name="**/*.exp" />

    <exclude name="**/*.map" />

   </fileset>

  </copy>

  <echo message="+=============================================+" />

  <echo message="          csc  拷贝完成........               " />

  <echo message="+=============================================+" />

  

  <!--<echo message="+=============================================+" />

  <echo message="          csc  正在提交........      " />

  <echo message="+=============================================+" />-->

  <!--<exec dir="${csc.dir}/code/CMS_ControlClientRun" executable="svn " >

   <arg line='ci -m "提交vrb(${csc.dir}/code/CMS_ControlClientRun文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${csc.dir}/code/CMS_ControlClientRun" executable="svn " >

      <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          csc  提交完成........               " />

  <echo message="+=============================================+" />-->

 </target>

 

 <target name="prebuildCMS" if="CMSscondition">

    

  <echo message="删除CMS/code/HikCMS/src/main/webapps/axis2-web此文件夹及此文件夹下的子文件夹" />

     <delete includeEmptyDirs="true">

      <fileset dir="${basedir}/CMS/code/HikCMS/src/main/webapps/axis2-web"/>

  </delete>

  <echo message="删除CMS/code/HikCMS/src/main/webapps/axis2-web此文件夹及此文件夹下的子文件夹,删除完成" />

  <echo message="拷贝Tomcat到CMS_Install" />

  <copy todir="${CMS_Install.dir}" file="${StaticComponent.dir}\CMS\${Tomcat}.zip"/>

  <echo message="解压tomcat压缩包" />

  <unzip src="${CMS_Install.dir}\${Tomcat}.zip" dest="${CMS_Install.dir}"/>

  <echo message="删除tomcat压缩包" />

  <delete file="${CMS_Install.dir}\${Tomcat}.zip"/>

  

  <if> 

   <equals arg1="${Common}" arg2="1"/> 

   <then> 

  <echo message="+==================================================================================+" />

  <echo message="         拷贝RecordQueryService到CMS安装文件Tomcat的bin目录下........              " />

  <echo message="+===================================================================================+" />

    <copy todir="${CMS_Install.dir}\${Tomcat}\bin\RecordQueryService">

     <fileset dir="${Common.dir}/RecordQueryService/code/bin/Win32/Release">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <exclude name="**/*.pdb" />

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>

  <echo message="+=====================================================================================+" />

  <echo message="         拷贝RecordQueryService到CMS安装文件Tomcat的bin目录下,拷贝完成........      " />

  <echo message="+======================================================================================+" />

  

    

  <!--<echo message="+====================================================+" />

  <echo message="          RecordQueryService  正在提交........      " />

  <echo message="+=====================================================+" />-->

  <!--<exec dir="${Common.dir}/RecordQueryService/code/bin/Win32/Release" executable="svn " >

   <arg line='ci -m "提交RecordQueryService(${Common.dir}/RecordQueryService/code/bin/Win32/Release文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${Common.dir}/RecordQueryService/code/bin/Win32/Release" executable="svn " >

      <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+====================================================+" />

  <echo message="          RecordQueryService  提交完成........      " />

  <echo message="+====================================================+" />-->

    

  <echo message="+===============================================================+" />

  <echo message="          拷贝sntp_server到CMS安装文件路径........               " />

  <echo message="+================================================================+" />

    <copy todir="${CMS_Install.dir}\${Tomcat}\bin\sntp_server">

     <fileset dir="${Common.dir}/sntp/sntp_server/bin/release">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <exclude name="**/*.pdb" />

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>

  <echo message="+===================================================================+" />

  <echo message="          拷贝sntp_server到CMS安装文件路径,拷贝完成........      " />

  <echo message="+===================================================================+" />

  

  <echo message="**********************************************************************" />

  <exec dir="${basedir}/CMS/code/HikCMS" executable="svn " output="${basedir}/CMS/code/HikCMS/revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="CMSrevision" srcFile="${basedir}/CMS/code/HikCMS/revision.txt"/> 

  <propertyregex property="CMS_revision" input="${CMSrevision}" regexp="(.*)Last Changed Rev: (.*)\r" select="\2"/>

  <delete file="${basedir}/CMS/code/HikCMS/revision.txt"/> 

  <echo message="**********************************************************************" />

  

  <echo message="+====================修改version.properties和exe的svn版本号保持一致=================================+" />

            <replace file="${basedir}\CMS\code\HikCMS\src\main\resources\version.properties" token="17984" value="${CMS_revision}" summary="true"/>

        <echo message="+===============================修改version.properties完成======================================+"  /> 

    

  <!--<echo message="+=============================================+" />

  <echo message="          sntp_server 正在提交........      " />

  <echo message="+=============================================+" />

  <exec dir="${Common.dir}/sntp/sntp_server/bin/release" executable="svn " >

   <arg line='ci -m "提交sntp_server(${Common.dir}/sntp/sntp_server/bin/release文件夹下)自动编译文件" .'/>

  </exec>

  <exec dir="${Common.dir}/sntp/sntp_server/bin/release" executable="svn " >

      <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=============================================+" />

  <echo message="          sntp_server 提交完成........      " />

  <echo message="+=============================================+" />-->

   </then>

   <else>

    <!--<echo >RecordQueryService和sntp_server非定制,直接copy成果物,</echo>-->

    <!--含中文,需指定编码,且含ant.jar包,需在classpath中指定-->

    <!--<exec dir="${script.dir}" executable="javac ">

     <arg line='-encoding GBK UnZipAndRarUtilCopy.java'/>

    </exec>

    <exec dir="${script.dir}" executable="java ">

     <arg line='UnZipAndRarUtilCopy'/>

     <arg line='"${Result.dir}/CMS"'/>--><!--需要解压的成果物文件位置-->

     <!--<arg line='"${Server_Install.dir}"'/>--><!--解压后文件位置-->

    <!--</exec>-->

   </else>

  </if>

  <!--<exec dir="${Client.dir}/ocx/preview/code" executable="${MsBuild}" >

   <arg line=' PlayView_OCX.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/ocx/playback/code" executable="${MsBuild}" >

   <arg line=' PlayBack_OCX.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

  <exec dir="${Client.dir}/ocx/mapocx/code" executable="${MsBuild}" >

   <arg line=' MapOcx.sln /p:Configuration=Release /property:${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>-->

  

        <!--<echo message="+====================================================+" />

  <echo message="          拷贝MapOcx.ocx到控件安装目录........       " />

  <echo message="+====================================================+" />-->

  

    <!--<copy todir="${Ocx_Install.dir}" file="${Client.dir}\ocx\mapocx\code\Release\MapOcx.ocx"/>-->

   

     <!--<echo message="+======================================================+" />

  <echo message="          拷贝MapOcx.ocx到控件安装目录,拷贝完成..." />

  <echo message="+========================================================+" />-->

     <!--<echo message="+=================================================+" />

  <echo message="          拷贝playback到控件安装目录........      " />

  <echo message="+=================================================+" />-->

    <!--<copy todir="${Ocx_Install.dir}">

     <fileset dir="${Client.dir}\ocx\playback\code\Run">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <exclude name="**/*.pdb" />

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>-->

     <!--<echo message="+==================================================+" />

  <echo message="          拷贝playback到控件安装目录,拷贝完成... " />

  <echo message="+==================================================+" />-->

   

     <!--<echo message="+==================================+" />

  <echo message="         playback 正在提交........  " />

  <echo message="+==================================+" />

  <exec dir="${Client.dir}\ocx\playback\code\Run" executable="svn " >

   <arg line='ci -m "提交playback(${Client.dir}\ocx\playback\code\Run文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${Client.dir}\ocx\playback\code\Run" executable="svn " >

      <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+====================================+" />

  <echo message="         playback 提交完成........    " />

  <echo message="+====================================+" />-->

   

     <!--<echo message="+======================================+" />

  <echo message="          拷贝preview到控件安装目录..." />

  <echo message="+======================================+" />-->

       <!--<copy todir="${Ocx_Install.dir}">

     <fileset dir="${Client.dir}\ocx\preview\code\Run">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <exclude name="**/*.pdb" />

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

       </copy>-->

  <!--<echo message="+==================================================+" />

  <echo message="          拷贝preview到控件安装目录,拷贝完成... " />

  <echo message="+===================================================+" />-->

  

  <!--<echo message="+=====================================+" />

  <echo message="         preview 正在提交........      " />

  <echo message="+======================================+" />

  <exec dir="${Client.dir}\ocx\preview\code\Run" executable="svn " >

   <arg line='ci -m "提交preview(${Client.dir}\ocx\preview\code\Run文件夹下)自动编译文件" . '/>

  </exec>

  <exec dir="${Client.dir}\ocx\preview\code\Run" executable="svn " >

      <arg line=' update .'/>

  </exec>-->

  <!--<echo message="+=======================================+" />

  <echo message="          preview 提交完成........      " />

  <echo message="+========================================+" />-->

  

  

     <!--<echo message="+=============================================+" />

  <echo message="            正在制作OCX安装包........      " />

  <echo message="+=============================================+" />

     <exec dir="${Install.dir}" executable="${IsCmdBld}" >

    <arg line=' -p "${OCX_ISM_Name}" -c COMP'/>

  </exec>

  <rename src="${OCX_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Setup.exe" dest="${OCX_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/cmsocx.exe"/>

  <echo message="+=============================================+" />

  <echo message="            制作OCX安装包成功      " />

  <echo message="+=============================================+" />-->

  <!--<copy todir="${CMS_Install.dir}\${Tomcat}\webapps\download" file="${OCX_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/cmsocx.exe"/>-->

  

  <echo message="+=============================================================+" />

  <echo message="            拷贝jre-6u14-windows-x64.exe........             " />

  <echo message="+===============================================================+" />

  <!--<copy todir="${CMS_Install.dir}\${Tomcat}" file="D:\jenkins\Install\StaticComponent\CMS\jre-6u14-windows-x64.exe"/>-->

  

  <copy todir="${CMS_Install.dir}\${Tomcat}" file="D:\jenkins\Install\StaticComponent\CMS\jre-7u75-windows-x64.exe"/>

  

  <echo message="+==============================================================+" />

  <echo message="            拷贝jre-6u14-windows-x64.exe,拷贝完成........     " />

  <echo message="+==============================================================+" />

  

        <echo message="+=============================================+" />

  <echo message="            拷贝OCX控件........             " />

  <echo message="+================${Package.dir}/download/cmsocx.exe=============================+" />

  

  <property name="ocx_path" value="${Package.dir}/download/cmsocx.exe"/> 

  <condition property="ocx_exist" value="true" else="false"> 

   <available property="isAvailable" type="file" file="${ocx_path}"/> 

  </condition> 

  <echo message="IPM单号下成果物控件是否存在,如果存在优先使用定制成果物库中的控件:${ocx_exist}" />

  

  <if> 

   <equals arg1="${ocx_exist}" arg2="true"/> 

   <then> 

    <copy todir="${CMS_Install.dir}\${Tomcat}\webapps\download" file="${Package.dir}/download/cmsocx.exe"/>

    <echo >从IPM单号成果物路径下拷贝cmsocx.exe到CMS install的download目录下</echo> 

   </then>

   <else> 

     <copy todir="${CMS_Install.dir}\${Tomcat}\webapps\download" file="${Result.dir}/ocx/cmsocx.exe"/>

     <echo >从基线成果物路径下拷贝cmsocx.exe到CMS install的download目录下</echo> 

   </else>    

  </if> 

  

  <!--<copy todir="${CMS_Install.dir}\${Tomcat}\webapps\download" file="D:\jenkins\script\ocx\cmsocx.exe"/>-->

  <echo message="+=================${Result.dir}/ocx/cmsocx.exe============================+" />

  <echo message="            拷贝OCX控件,拷贝完成........     " />

  <echo message="+=============================================+" />

  <echo message="+=============================================+" />

  <echo message="            给控件打数字签名(${CMS_Install.dir}\${Tomcat}\webapps\download\cmsocx.exe).........        " />

  <echo message="+=============================================+" />

  

  <exec executable="cmd">

           <arg value="/c"/>

           <arg value="*************" />

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="            给控件打数字签名完成.......        " />

  <echo message="+=============================================+" />

  <!--<delete file="${OCX_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/cmsocx.exe"/>-->

 </target>

 <target name="buildCMS" depends="prebuildCMS" if="CMSscondition"> 

  <exec executable="cmd" dir="${basedir}/CMS/code/HikCMS" >

           <arg value="/c"/>

           <arg value="mvn clean package -Dmaven.test.skip=true" />

        </exec>

  <!--<copy todir="${CMS_Install.dir}" file="${CMS.dir}\code\HikCMS\target\ROOT.war"/>-->

  <echo message="拷贝ROOT.war包至tomcat的webapps目录下" />

  <copy todir="${CMS_Install.dir}\${Tomcat}\webapps" file="${CMS.dir}\code\HikCMS\target\ROOT.war"/>

 </target>

 

 <target name="makeCMS" depends="buildCMS" if="CMSscondition"><!--depends="buildCMS" -->

 

  <exec dir="${basedir}/CMS/code/HikCMS" executable="svn " output="${basedir}/CMS/code/HikCMS/revision.txt">

   <arg line='info'/>

  </exec>

  <loadfile property="CMSrevision" srcFile="${basedir}/CMS/code/HikCMS/revision.txt"/> 

  <propertyregex property="CMS_revision" input="${CMSrevision}" regexp="(.*)Last Changed Rev: (.*)\r" select="\2"/>

  <delete file="${basedir}/CMS/code/HikCMS/revision.txt"/> 

  <echo message="+=============================================+" />

  <echo message="             CMS SVN 版本:${CMS_revision}   " />

  <echo message="+=============================================+" />

  <echo message="+=============================================+" />

  <echo message="            正在制作CMS安装包........      " />         

  <echo message="+=============================================+" />

  <exec dir="${Install.dir}" executable="${IsCmdBld}" >

    <arg line=' -p "${CMS_ISM_Name}" -c COMP'/>

  </exec>

  

  <rename src="${CMS_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Setup.exe" dest="${CMS_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe"/>

  <echo message="+=============================================+" />

  <echo message="            制作CMS安装包成功      " />

  <echo message="+=============================================+" />

  <copy todir="${Package.dir}" file="${CMS_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe"/>

  <delete file="${CMS_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe"/>

  

  <echo message="+=============================================+" />

  <echo message="            将CMS安装包上传SVN..      " />

  <echo message="+=============================================+" />

 

        <exec dir="${Package.dir}" executable="svn " >

      <arg line='add CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='ci -m "提交CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe安装包" . --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >    

  <arg line=' update .'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="            CMS安装包上传svn完成..     " />

  <echo message="+=============================================+" />

  

  <delete file="${Package.dir}/CMS_Setup_${version}_${CMS_revision}_Build${build.date}.exe"/>

  

  <echo message="+====================修改version.properties和svn上的版本号保持一致=====================================+" />

            <replace file="${basedir}\CMS\code\HikCMS\src\main\resources\version.properties" token="${CMS_revision}" value="17984" summary="true"/>

        <echo message="+=================================修改version.properties完成===========================================+"  /> 

    

 </target>

 

  <target name="makeTvmc">

   

     <exec dir="${Common.dir}/sntp/sntp_client" executable="${MsBuild}" >

   <arg line=' SntpClient.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

   

        <exec dir="${script.dir}" executable="javac">

   <arg line='-encoding GBK ReadTvmcSvnNumberBase.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java" output="${Result.dir}\TVMCrevisionNumber.txt">

   <arg line='ReadTvmcSvnNumberBase'/>

   <arg line='${Result.dir}/tvmc'/>

  </exec>

  <loadfile property="TVMCrevision" srcFile="${Result.dir}\TVMCrevisionNumber.txt"/>

  <echo message="+=============================================+" />

  <echo message="               ${TVMCrevision}              " />

  <echo message="+=============================================+" />

  <propertyregex property="TVMC_revision" input="${TVMCrevision}" regexp="(.*)TVMSSvnNumber: (.*)\r" select="\2"/>

  <!--<delete dir="${Server.dir}/revision.txt"/>-->

  <echo message="+=================================================+" />

  <echo message="            TVMC SVN 版本:${TVMC_revision}    " />

  <echo message="+=================================================+" />

       <echo message="+=======================================================================================================+" /> 

        <echo message="+===============将电视墙成果物目录下的压缩包解压至安装目录下用于打包===============================+" />

        <echo message="+=======================================================================================================+" />

  

  <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilBase9600.java'/><!--含中文,需指定编码,且含ant.jar包,需在classpath中指定-->

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilBase9600'/>

   <arg line='"${Result.dir}/tvmc"'/><!--需要解压的成果物文件位置-->

   <arg line='"${Result.dir}/tvmc"'/><!--解压后文件位置-->

   <arg line='0'/><!--解压-->

   <arg line='"${module}"'/>

   <arg line='"${Result.dir}/tvmc"'/>

  </exec>

  

  <echo message="+=======================================================================================================+" /> 

        <echo message="+===============将电视墙成果物目录下的压缩包解压至安装目录下,解压完成===============================+" />

        <echo message="+=======================================================================================================+" />

       

        <exec dir="${Common.dir}/sntp/sntp_client" executable="${MsBuild}" >

   <arg line=' SntpClient.sln /p:Configuration=Release /property:WarningLevel=${WarningLevel}  /p:Platform=Win32  /t:rebuild /toolsversion:3.5'/>

  </exec>

       

        <echo message="+=============================================+" />

  <echo message="          重命名电视墙文件夹........      " />

  <echo message="+=============================================+" />

  

     <exec dir="${script.dir}" executable="javac ">

   <arg line='-encoding GBK UnZipAndRarUtilBase9600.java'/>

  </exec>

  <exec dir="${script.dir}" executable="java ">

   <arg line='UnZipAndRarUtilBase9600'/>

   <arg line='"${Result.dir}/tvmc"'/><!--需要解压的成果物文件位置-->

   <arg line='"${Result.dir}/tvmc"'/><!--解压后文件位置-->

   <arg line='1'/><!--rename-->

   <arg line='"${module}"'/>

   <arg line='"0"'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="          重命名电视墙文件夹完成........      " />

  <echo message="+=============================================+" />

       

        <echo message="+==================================================================================+" />

     <echo message="          拷贝项目-成果物tvmc文件夹下的tvmc_Install到电视墙安装目录下........      " />

  <echo message="+====================================================================================+" />

    <copy todir="${Tvmc_Install.dir}">

     <fileset dir="${Result.dir}/tvmc/tvmc_Install">

      <exclude name="**/*.lib" />

      <exclude name="**/*.svn" />

      <!--<exclude name="**/*.pdb" />-->

      <exclude name="**/*.exp" />

      <exclude name="**/*.map" />

     </fileset>

    </copy>

  <echo message="+=================================================================================================+" />

     <echo message="          拷贝项目-成果物tvmc文件夹下的tvmc_Install到电视墙安装目录下,拷贝完成.......      " />

  <echo message="+===========================================================================================+" />

       

       

       

        <echo message="+=============================================+" />

  <echo message="            正在制作安装包........      " />

  <echo message="+=============================================+" />

  <exec dir="${Install.dir}" executable="${IsCmdBld}" >

    <arg line=' -p "${Tvmc_ISM_Name}" -c COMP'/>

  </exec>

  <rename src="${Tvmc_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/Setup.exe" dest="${Tvmc_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe"/>

  <echo message="+=============================================+" />

  <echo message="            制作安装包成功      " />

  <echo message="+=============================================+" />

  <copy todir="${Package.dir}" file="${Tvmc_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe"/>

  <delete file="${Tvmc_ISEng.dir}/Media/SINGLE_EXE_IMAGE/Package/TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe"/>

  

  <echo message="+=============================================+" />

  <echo message="            将安装包上传SVN..      " />

  <echo message="+=============================================+" />

 

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='add TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

      <arg line='ci -m "提交TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe安装包" . --username 用户名 --password 密码 --non-interactive --trust-server-cert'/>

  </exec>

  <exec dir="${Package.dir}" executable="svn " >

  <arg line=' update .'/>

  </exec>

  

  <echo message="+=============================================+" />

  <echo message="            安装包上传svn完成..     " />

  <echo message="+=============================================+" />

  

  <delete file="${Package.dir}/TVMC_Setup_${version}_${TVMC_revision}_Build${build.date}.exe"/>

  

 </target>

</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: