Ant自動構建腳本!

這是我業餘寫的一個Ant自動構建腳本.回頭有時間再寫個WebSphere的腳本.

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="F:/back" default="tomcat.start" name="OA">
 <property environment="env" />
 <property name="target" value="1.5" />
 <property name="source" value="1.5" />
 <property name="back.dir" value="F:/back" />
 <property name="tomcat.home" value="D:/demo/Tomcat 5.5" />
 <property name="tomcat.stop.port" value="8009" />
 <property name="soucecode.dir" value="F:/back" />
 <property name="cvsroot" value=":pserver:jiaobin:@192.168.0.4:/home/cvsroot"/>
 <property name="cvs.password" value="2008"/>
 <property name="cvs.project" value="testProject"/>
 <property name="release.dir" value="${tomcat.home}/webapps/${cvs.project}" />
 <property name="src.dir" value="${soucecode.dir}/${cvs.project}" />
 <property name="web.dir" value="WebRoot/WEB-INF" />
 <property name="webRoot.dir" value="WebRoot" />
 <property name="class.outPutDir" value="${web.dir}/classes" />
 <path id="CLASSPATH">
  <fileset dir="${tomcat.home}/bin">
    <include name="*.jar"/>
  </fileset>
  <fileset dir="${tomcat.home}/common/lib">
   <include name="*.jar"/>
  </fileset>
  <fileset dir="${src.dir}/${web.dir}/lib">
    <include name="*.jar"/>
  </fileset>
 </path>
 <condition property="tomcat.socket.exist">
     <and>
      <socket port="${tomcat.stop.port}" server="127.0.0.1"/>
  </and>
 </condition>
 <!--重新啓動Tomcat-->
 <target name="tomcat.start" depends="backup" description="重新啓動Tomcat">
   <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
   <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
 </java>
 </target>
    <!--將release的項目備份到備份目錄中-->
 <target name="backup"  depends="release_code" description="將release的項目備份到備份目錄中">
   <tstamp/>
   <echo message="${DSTAMP}"/>
   <mkdir dir="${back.dir}/${DSTAMP}/${cvs.project}"/>
   <copydir src="${src.dir}"
               dest="${back.dir}/${DSTAMP}/${cvs.project}"
               includes="**/*.*"/>
    </target>
 <!--發佈代碼-->
 <target name="release_code" depends="compile_code" description="發佈代碼">
  <copydir src="${src.dir}/${webRoot.dir}"
             dest="${release.dir}"
             includes="**/*.*"
            
    />
 </target>
 <!--進行編譯過程-->
 <target name="compile_code" depends="clean_release_Dir,get_souce_code" description="進行編譯過程">
  <echo message="清空要編譯的類目錄"/>
  <deltree dir="${src.dir}/${class.outPutDir}"/>
  <mkdir dir="${src.dir}/${class.outPutDir}"/>
  <echo message="編譯源代碼"/>
  <javac destdir="${src.dir}/${class.outPutDir}" source="${source}" target="${target}" debug="true"
              deprecation="false" optimize="false" failοnerrοr="true" encoding="GBK">
              <src path="${src.dir}/src"/>
           <classpath refid="CLASSPATH"/>
           <compilerarg value="-Xlint:unchecked"/> 
       </javac>
 </target>
 <!--清除發佈目錄-->
 <target name="clean_release_Dir" description="清除發佈目錄">
  <echo message="清除發佈目錄"/>
  <deltree dir="${release.dir}"/>
  <mkdir dir="${release.dir}"/>
 </target>
    <!--從版本庫中得到源碼-->
    <target name="get_souce_code" depends="init_src_dir" description="從版本庫中得最新源代碼目錄">
  <echo message="得到源碼"/>
  <cvspass cvsroot=":pserver:[email protected]:/home/cvsroot"
             password="XXXX"  passfile="pass.cvspass"
        />
     <cvs cvsRoot=":pserver:[email protected]:/home/cvsroot" package="${cvs.project}" dest="${soucecode.dir}" passfile="pass.cvspass" >
  </cvs>
 </target>
    <!--創建源代碼目錄-->
 <target name="init_src_dir"  depends="tomcat.stop" description="創建源代碼目錄">
  <echo message="創建源代碼目錄"/>
  <deltree dir="${src.dir}"/>
  <mkdir dir="${src.dir}"/>
 </target>
    <!--停止Tomcat服務-->
 <target name="tomcat.stop" description="停止Tomcat服務" if="tomcat.socket.exist">
     <echo message="停止Tomcat服務"/>
  <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
   <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
   <arg line="stop"/>
   </java>
 </target>
 
</project>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章