现在的位置: 首页 > 综合 > 正文

ANT 打包脚步的运用

2013年10月16日 ⁄ 综合 ⁄ 共 13701字 ⁄ 字号 评论关闭

<?xml version="1.0" encoding="UTF-8"?>
<!--
    ==================================================================================================
    Use this ant script, the file name and dir name should be obey <RIS PDT BMP WEBSMAP archive rule>
    and <NGIN management node developement criterion[20090413]>
    Each service can modify the script according to its requirement.
    The following is the complementarity to <NGIN management node developement criterion[20090413]>:
    |serviceCode
    |WebRoot
    |DOC
    |  serviceCode
    |    serviceCode error code resource.xls
    |    serviceCode international resource.xls
    |    serviceCode log static information table and international resource.xls
    |    serviceCode dictionary.xls
    |tools
    |  serviceCode
    |    *.sql
    If the dir listed above is not existed, you shoud add it by hand.
    serviceCode is the abbreviation of service name, like alre, which is consitent with that defined
    in build.properties.
    ===================================================================================================

 -->
<project default="dist" basedir=".">
 <!-- Validate file is exist -->
 <available property="resource.exists" file="updateVpnBuild.properties" type="file">
 </available>
 <fail unless="resource.exists" message="vpnBuild.properties not exist" />

 <!-- import properties file -->
 <property file="updateVpnBuild.properties" />

 <!-- define tasks-->
 <property environment="env" />
 <!-- Get the env variable of windows and uinx -->
 <property name="TempPackageDir" value="temppackage" />
 <property name="SourceDir" value="source/UPDATE${module.name}" />
 <property name="PkgDir" value="tmp" />
 <property name="javahome" value="${env.JAVA_HOME}" />
 <property name="ant.home" value="${env.ANT_HOME}" />
 <path id="class.path">
  <fileset dir="../lib">
   <include name="**/*.jar" />
  </fileset>
 </path>
 <!-- Define the INS package name -->

 <!-- Define the package path-->
 <mkdir dir="${env.directory}" />
 <tstamp>
  <format property="DATATIME" pattern="yyyyMMddHHmmss" locale="cn" />
 </tstamp>
 <property name="dist.dir" value="${env.directory}" />
 <property name="dist.release.software" value="${dist.dir}/${DATATIME}/release" />
 <property name="dist.source" value="${dist.dir}/${DATATIME}/Non-software Deliverables/source" />
 <property name="web.dist" value="${dist.dir}/${DATATIME}/software" />
 <property name="dist.Docs" value="${dist.dir}/${DATATIME}/Docs" />

 <!--
     ===================================================================
           Build java file
     ===================================================================
  -->
 <target name="build">
  <delete dir="${PkgDir}" />
  <delete dir="${TempPackageDir}/" />

  <mkdir dir="${PkgDir}/classes" />
  <mkdir dir="${PkgDir}/commonclasses/" />
  <mkdir dir="${PkgDir}/bmp/server/default/deploy/bmp.war/" />
  <mkdir dir="${PkgDir}/bmp/server/default/lib/bmp/" />

  <javac executable="${javahome}/bin/javac" encoding="utf-8" srcdir="../src/com/huawei" destdir="${PkgDir}/classes/" debug="on" debuglevel="lines,source,var" fork="true" memorymaximumsize="1024m">
   <classpath refid="class.path" />
  </javac>
  <javac executable="${javahome}/bin/javac" encoding="utf-8" srcdir="../src/smsservice" destdir="${PkgDir}/classes/" debug="on" debuglevel="lines,source,var" fork="true" memorymaximumsize="1024m">
   <classpath refid="class.path" />
  </javac>
  <javac executable="${javahome}/bin/javac" encoding="utf-8" srcdir="../src/com/huawei/" destdir="${PkgDir}/commonclasses/" debug="on" debuglevel="lines,source,var" fork="true" memorymaximumsize="1024m">
   <classpath refid="class.path" />
  </javac>
  <delete dir="${PkgDir}/commonclasses/com/huawei/ngin/mo"></delete>
  <delete dir="${PkgDir}/commonclasses/com/huawei/www"></delete>
  <jar destfile="${PkgDir}/bmp/server/default/lib/bmp/ngin-common.jar" basedir="${PkgDir}/commonclasses/" />
     <delete dir="${PkgDir}/classes/com/huawei/ngin/common"></delete>
  <delete dir="${PkgDir}/classes/com/huawei/ngin/vpncommons"></delete>
  <jar destfile="${PkgDir}/bmp/server/default/lib/bmp/ngin-vpn.jar" basedir="${PkgDir}/classes/" />
 </target>

 <target name="cpclass" depends="build">
  <copy todir="${PkgDir}/bmp/server/default/lib/bmp">
   <fileset dir="../lib/mo">
    <include name="passwordAPI.jar" />
   </fileset>
  </copy>
  <copy todir="${PkgDir}/bmp/server/default/lib/bmp">
      <fileset dir="../lib/mo">
       <include name="audioFactory.jar" />
      </fileset>
  </copy>
  <copy todir="${PkgDir}/bmp/server/default/lib/bmp">
     <fileset dir="../lib/mo">
      <include name="bmp_version" />
     </fileset>
  </copy>
  <copy todir="${PkgDir}/bmp/server/default/lib/bmp">
    <fileset dir="../lib/mo">
     <include name="ezmorph-1.0.6.jar" />
    </fileset>
  </copy>
  <copy todir="${PkgDir}/bmp/server/default/lib/bmp">
    <fileset dir="../lib/mo">
     <include name="json-lib-2.4-jdk15.jar" />
    </fileset>
  </copy>
 </target>

 <!-- 将业务打成gz包-->
 <target name="bmpgz" depends="cpclass">
  <copy file="global.datasource.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/conf/" />
  <copy file="../WebRoot/WEB-INF/services/BMP2FMInnerService.aar" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/services/" />
  <copy file="../WebRoot/WEB-INF/services/Peru2Service.aar" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/services/" />
  <copy file="../conf/ValidationConfig.xsd" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/classes/" />
  <copy file="../conf/vc.validatorConfig.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/classes/" />
  <copy file="../WebRoot/WEB-INF/web.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/" />
  <copy file="../WebRoot/WEB-INF/service/conf/common.log4j-aop.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/service/conf/" />
  <copy file="../WebRoot/WEB-INF/service/conf/vc.naming-sql.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/service/conf/" />
  <copy file="../WebRoot/WEB-INF/frameset/jsp/framesetIndex.jsp" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/frameset/jsp/" />
  <copy file="../WebRoot/WEB-INF/frameset/jsp/switchhttp.jsp" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/frameset/jsp/" />
  <copy file="../WebRoot/WEB-INF/service/jsp/mo/frameset/vpnframeset.jsp" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/service/jsp/mo/frameset/" />
  <copy file="../conf/moConfig.xml" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/classes/" />
  <copy file="../conf/BatchFileTemplate.xml"  todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/classes/"/>
  <copy file="../conf/mo_tool_config.properties"  todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/classes/"/>
  <!--BME help帮助文档
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/help/mo/">
   <fileset dir="../WebRoot/help/mo/"/>
  </copy>
  -->  
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/tld/">
     <fileset dir="../WebRoot/WEB-INF/tld/">
      <include name="moTaglib.tld"/>
      </fileset>
            
  </copy>
  
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/service/">
   <fileset dir="../WebRoot/WEB-INF/service/">
    <exclude name="**/conf/subscriber.edrconfig.xml"/>
    <exclude name="**/login.jsp" />
   </fileset>
  </copy>
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/customization/i18n">
   <fileset dir="../WebRoot/WEB-INF/customization/i18n/">
    <include name="vpn*.*" />
    <include name="common*.*" />
   </fileset>
  </copy>
  <!--为了实现短信发送配置-->
  <copy file="../WebRoot/WEB-INF/services/SMSService.aar" todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/services/" />
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/WEB-INF/sms/">
     <fileset dir="../WebRoot/WEB-INF/sms/" />
  </copy>
  <!--end-->
  <copy todir="${PkgDir}/bmp/server/default/deploy/bmp.war/mo/">
   <fileset dir="../WebRoot/mo/" />
  </copy>

  <zip destfile="${PkgDir}/bmp/${module.name}_BMP_${version}_INS.zip" basedir="${PkgDir}/bmp" />
  <move file="${PkgDir}/bmp/${module.name}_BMP_${version}_INS.zip" todir="${web.dist}" />
  <tar destfile="${PkgDir}/bmp/${module.name}BMP_${version}_INS.tar" basedir="./${PkgDir}/bmp" />
  <gzip destfile="${PkgDir}/bmp/${module.name}BMP_${version}_INS_upgrade.tar.gz" src="${PkgDir}/bmp/${module.name}BMP_${version}_INS.tar" />
  <move file="${PkgDir}/bmp/${module.name}BMP_${version}_INS_upgrade.tar.gz" todir="${web.dist}" />
 </target>

 <!--将数据库打成gz包-->
 <target name="bmpdbgz" depends="bmpgz">
  <copy todir="${PkgDir}/bmpdb/dbScript/">
   <fileset dir="dbScript/" />
  </copy>
  <zip destfile="${PkgDir}/bmp/${module.name}BMP_${version}_CFG_upgrade.zip" basedir="${PkgDir}/bmpdb/" />
  <move file="${PkgDir}/bmp/${module.name}BMP_${version}_CFG_upgrade.zip" todir="${web.dist}" />

  <tar destfile="${PkgDir}/bmpdb/${module.name}BMPDB_${version}_INS_upgrade.tar" basedir="${PkgDir}/bmpdb/" />
  <gzip destfile="${PkgDir}/bmpdb/${module.name}BMPDB_${version}_INS_upgrade.tar.gz" src="${PkgDir}/bmpdb/${module.name}BMPDB_${version}_INS_upgrade.tar" />
  <move file="${PkgDir}/bmpdb/${module.name}BMPDB_${version}_INS_upgrade.tar.gz" todir="${web.dist}" />
 </target>

 <!-- #创建打包临时目录-->
 <target name="createtmpdir" depends="bmpdbgz">
  <delete dir="${TempPackageDir}" />
  <mkdir dir="${TempPackageDir}" />

  <mkdir dir="${TempPackageDir}/modules/${module.name}BMP" />
  <mkdir dir="${TempPackageDir}/modules/${module.name}BMPDB" />
 </target>

 <!--将uoa打成gz包
 <target name="uoagz" depends="createtmpdir">
  
  <mkdir dir="${PkgDir}/UOA/" />
  <tar destfile="${PkgDir}/UOA/${module.name}BMP_${version}_UOA_upgrade.tar" basedir="${SourceDir}/UOA/" />
  <gzip destfile="${PkgDir}/UOA/${module.name}BMP_${version}_UOA_upgrade.tar.gz" src="${PkgDir}/UOA/${module.name}BMP_${version}_UOA_upgrade.tar" />
  <move file="${PkgDir}/UOA/${module.name}BMP_${version}_UOA_upgrade.tar.gz" todir="${TempPackageDir}/modules/${module.name}BMP/" />
 
 </target>
    -->
 <!-- #将package文件拷贝到打包临时目录 -->
 <target name="pageinfototmpdir" depends="createtmpdir">

  <copy todir="${TempPackageDir}">
   <fileset dir="${SourceDir}/packageinfo/" />
  </copy>
 </target>

 <!-- #将INS安装包拷贝到打包临时目录-->
 <target name="instotmpdir" depends="pageinfototmpdir">
  <tar destfile="${SourceDir}/scripts_${module.name}BMP/scripts_${module.name}BMP.tar" basedir="${SourceDir}/scripts_${module.name}BMP/" />

  <move file="${SourceDir}/scripts_${module.name}BMP/scripts_${module.name}BMP.tar" todir="${TempPackageDir}/modules/${module.name}BMP/" />
  <copy file="${web.dist}/${module.name}BMP_${version}_INS_upgrade.tar.gz" todir="${TempPackageDir}/modules/${module.name}BMP/" />

  <copy todir="${TempPackageDir}/modules/${module.name}BMP/">
   <fileset dir="${SourceDir}/${module.name}BMP/" />
  </copy>
 </target>

 <!--#将DB安装包拷贝到打包临时目录-->

 <target name="dbtotmpdir" depends="instotmpdir">

  <tar destfile="${SourceDir}/scripts_${module.name}BMPDB/scripts_${module.name}BMPDB.tar" basedir="${SourceDir}/scripts_${module.name}BMPDB/" />
  <delete file="${SourceDir}/scripts_${module.name}BMPDB/db.properties" />
  <move file="${SourceDir}/scripts_${module.name}BMPDB/scripts_${module.name}BMPDB.tar" todir="${TempPackageDir}/modules/${module.name}BMPDB/" />
  <copy file="${web.dist}/${module.name}BMPDB_${version}_INS_upgrade.tar.gz" todir="${TempPackageDir}/modules/${module.name}BMPDB/" />
  <copy todir="${TempPackageDir}/modules/${module.name}BMPDB/">
   <fileset dir="${SourceDir}/${module.name}BMPDB/" />
  </copy>
 </target>
 <!-- 生成ideploy包 -->
 <target name="idpeloy" depends="dbtotmpdir">
  <tar destfile="${TempPackageDir}/${module.name}_BMP${version}_ideploy.tar" basedir="${TempPackageDir}" />
  <copyfile src="${TempPackageDir}/${module.name}_BMP${version}_ideploy.tar" dest="${web.dist}/${module.name}_BMP_${version}_Upgrade_For_${old.version}.tar" />

  <delete dir="${PkgDir}" />
  <delete dir="${TempPackageDir}/" />
  <echo>${web.dist}</echo>
 </target>
 <!-- Generate DOC package -->
 <target name="bmpdoc">
  <mkdir dir="${PkgDir}/bmpdoc" />
  <copy todir="${PkgDir}/bmpdoc" overwrite="true">
   <fileset dir="../doc/vpn">
    <include name="**" />
   </fileset>
  </copy>
  <zip destfile="${PkgDir}/bmpdoc/${module.name}_BMP${version}_DOC.zip" basedir="${PkgDir}/bmpdoc/" />
  <move file="${PkgDir}/bmpdoc/${module.name}_BMP${version}_DOC.zip" todir="${dist.release.software}" />
 </target>
 <!-- data base realtion-->
 <target name="setOut">
  <echo message="setout space......" />
  <delete dir="d:/schemaSpy/dbRealtionZip" />
  <delete dir="d:/schemaSpy/dbRelation" />
  <mkdir dir="d:/schemaSpy/dbRelation" />
  <mkdir dir="d:/schemaSpy/dbRealtionZip" />
 </target>

 <target name="exec" depends="setOut">
  <echo message="automatism build table relation......." />
  <exec dir="d:/schemaSpy" executable="cmd">
   <arg value="/c" />
   <arg value="java -jar schemaSpy_4.1.1.jar -db ora -u vpn0104 -p vpn0104 -o dbRelation -i E_VPN.* -s BME" />
   <arg value="-p" />
  </exec>
 </target>

 <target name="zipSchemaSpy" depends="exec">
  <zip destfile="d:/schemaSpy/dbRealtionZip/${module.name}_BMP${version}_DBREALTION.zip" basedir="d:/schemaSpy/dbRelation">
  </zip>
  <move file="d:/schemaSpy/dbRealtionZip/${module.name}_BMP${version}_DBREALTION.zip" todir="${dist.dir}/${DATATIME}/Non-software Deliverables" />
  <delete dir="${PkgDir}/bmpdoc" />
  <delete dir="${PkgDir}" />
 </target>
 <!--Docs-->
 <target name="docs">
  <mkdir dir="${dist.Docs}" />
 </target>
 <!--src source-->
 <target name="bmpsrc">
  <property name="dist.source.time" value="${dist.source}" />
  <mkdir dir="${dist.source.time}" />
  <delete file="${dist.source.time}/${module.name}_BMP${version}_SRC.zip" failonerror="false" />
  <zip destfile="${dist.source.time}/${module.name}_BMP${version}_SRC.zip">
   <fileset dir="../">
    <include name="src/com/huawei/ngin/${service.code}/**" />
    <include name="test/**" />
    <include name="WebRoot/${service.code}/**" />
    <include name="WebRoot/WEB-INF/customization/i18n/${service.code}*.*" />
    <include name="WebRoot/WEB-INF/${service.package.name}/conf/${service.code}*.*" />
    <include name="WebRoot/WEB-INF/${service.package.name}/jsp/${service.code}/**" />
    <!--include name="WebRoot/WEB-INF/classes/log4j.xml" /-->
   </fileset>
  </zip>
 </target>
 <!-- run tasks-->
 <target name="dist" depends="bmpgz,idpeloy" description="vpn发布包">
 </target>
</project>

抱歉!评论已关闭.