ant構建代碼模板一




<project name="projectWeeklyReport" default="war" basedir=".">


<!--屬性定義-->
<property name="src.dir" value="${basedir}/src" />
<property name="test.dir" value="${basedir}/test" />
<property name="build.dir" value="${basedir}/build" />
<property name="web.dir" value="${basedir}/WebRoot" />
<property name="doc.dir" value="${basedir}/javadoc" />
<property name="report.dir" value="${basedir}/report" />
<property name="build.dir.classes" value="${build.dir}/classes" />
<property name="build.dir.web" value="${build.dir}/web" />
<property name="OPEN_HOME" value="C:/open" />


<!--環境變量定義-->
<path id="all.path">
<fileset dir="${web.dir}/WEB-INF/lib" includes="*.jar" />
<fileset dir="${web.dir}/WEB-INF/lib" includes="*.zip" />
<fileset dir="${web.dir}/WEB-INF/lib" includes="*.dll" />
<fileset dir="${web.dir}/WEB-INF/lib" includes="*.exe" />
<fileset dir="${OPENEAP_HOME}/eapserver/lib" includes="*.jar" />
</path>


<!--初始化環境-->
<target name="init">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir.web}" />
<mkdir dir="${build.dir.classes}" />
<mkdir dir="${doc.dir}" />
<mkdir dir="${report.dir}" />
</target>


<!--編譯源碼-->
<target name="compile" depends="init">
<javac debug="true" encoding="GBK" srcdir="${src.dir}" destdir="${build.dir.classes}" deprecation="off" nowarn="on">
<include name="**/*.java" />
<classpath refid="all.path" />
</javac>
<copy todir="${build.dir.classes}">
<fileset dir="${src.dir}" includes="META-INF/**" />
<fileset dir="${src.dir}" includes="*.properties,*.xml" />
</copy>
</target>


<!--運行單元測試-->
<target name="test" depends="compile">
<mkdir dir="${report.dir}" />
<property name="cases" value="*Test" />
<junit printsummary="yes" fork="yes" jvm="${java.home}/bin/java">
<classpath refid="all.path" />
<formatter type="plain" usefile="false" />
<formatter type="xml" />
<batchtest todir="${report.dir}">
<freeselector dir="${test.dir}" include="**/*.java" />
</batchtest>
</junit>
</target>


<!--構建編譯後的代碼-->
<target name="build" depends="compile">
<copy todir="${build.dir.web}">
<fileset dir="${web.dir}">
<exclude name="WEB-INF/classes/**/*.*" />
</fileset>
</copy>
<copy todir="${build.dir.web}/WEB-INF/classes">
<fileset dir="${build.dir.classes}">
<include name="**/*.*" />
</fileset>
</copy>
</target>


<!--打包war-->
<target name="war" depends="build">
<war destfile="${basedir}/${ant.project.name}.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<fileset dir="${build.dir.web}">
<include name="**/**" />
</fileset>
</war>
<antcall target="clean">
</antcall>
</target>


<!--直接從WebRoot下面打包-->
<target name="dWar">
<war destfile="${basedir}/${ant.project.name}.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<fileset dir="${web.dir}">
<include name="**/**" />
</fileset>
</war>
</target>


<!--發佈war包到openEAP目錄下-->
<target name="deploy" depends="clean,war">
<copy todir="${OPENEAP_HOME}/jboss/server/default/deploy/openEAP4jboss">
<fileset dir="${basedir}">
<include name="${ant.project.name}.war" />
</fileset>
</copy>
<antcall target="clean">
</antcall>
</target>


<!--清理編譯生成的臨時文件-->
<target name="clean">
<delete dir="${build.dir}" />
<delete dir="${doc.dir}" />
<delete dir="${report.dir}" />
</target>


<!--生成API文檔-->
<target name="javadoc" depends="init">
<javadoc destdir="${doc.dir}" encoding="GBK" docencoding="GBK">
<classpath refid="all.path" />
<packageset dir="${src.dir}" />
</javadoc>
</target>
</project>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章