常用的Ant模板(BUILD.XML)

From:http://blog.csdn.net/dust_bug/archive/2006/10/19/1341029.aspx

 现在项目使用ant来管理,整理了一个常用的Ant模板文件,包括:编译、运行Junit测试用例、CheckStlye、从Vss取版本、javadoc等。希望有用。

<?xml version="1.0" encoding="gb2312"?> 
<!-- 
本模板文件提供了以下功能: 
1.编译java代码; 
2.产生java代码对应的javaDoc; 
3.检查java代码的编码规范; 
4.编译并运行java代码对应的junit测试代码 
5.从Vss中获取程序 
--> 
<project name="Fog Project" default="all" basedir=".">

<!-- 环境变量 --> 
<property environment="env"/> 
<!-- 设置junit报告的xsl文件目录 --> 
<property name="junit.styleDir" value="${env.ANT_HOME}/etc"/>

<!-- 源代码目录 --> 
<property name="src.code" value="src"/> 
<!-- 源代码对应的junit目录 --> 
<property name="src.junit" value="junit"/> 
<!-- 引用包所在目录 --> 
<property name="lib.dir" value="lib"/> 
<!-- 目标jar名称 --> 
<property name="lib.jar" value="fog.jar"/>

<!-- checkstyle configuration --> 
<property name="checkstyle.config" value="${lib.dir}/checkstyle33.xml"/> 
<!-- 设置checkstyle的xsl文件 --> 
<property name="checkstyle.xsl" value="${lib.dir}/checkstyle-frames.xsl"/> 
<taskdef resource="checkstyletask.properties" 
classpath="${lib.dir}/checkstyle-all-3.3.jar"/>

<!-- VSS配置 --> 
<property name="vss.ssdir" value="D:\Program Files\vss\win32\"/> 
<property name="vss.svrdir" value="Z:"/> 
<property name="vss.path" value="/fog/implement"/>

<!-- 输出文档 --> 
<property name="doc.dir" value="doc"/> 
<property name="doc.api" value="${doc.dir}/api"/> 
<!-- junit report --> 
<property name="doc.junitReport" value="${doc.dir}/junitReport"/> 
<!-- checkstyle report --> 
<property name="doc.checkstyleReport" value="${doc.dir}/checkstyleReport"/>

<!-- 与开发包结构相同 --> 
<property name="javadoc.package" value="fog.*"/>

<!-- 输出二进制文件 --> 
<property name="dist.root" value="projDist"/> 
<property name="dist.proj" value="${dist.root}/proj"/> 
<property name="dist.classes" value="${dist.proj}/classes"/> 
<property name="dist.lib" value="${dist.proj}/lib"/> 
<property name="dist.junit" value="${dist.root}/junit"/>

<!-- classpath --> 
<path id="classpath"> 
<fileset dir="${lib.dir}"> 
<include name="**/*.jar"/> 
</fileset>

<fileset dir="web/WEB-INF/lib"> 
<include name="**/*.jar"/> 
</fileset>

<fileset dir="${dist.lib}"> 
<include name="**/*.jar"/> 
</fileset>

<fileset dir="junit_lib"> 
<include name="**/*.jar"/> 
</fileset> 
</path>

<target name="init"> 
<mkdir dir="${doc.dir}"/> 
<mkdir dir="${dist.root}"/> 
<mkdir dir="${dist.proj}"/> 
<mkdir dir="${dist.lib}"/> 
<tstamp/> 
<echo message="${TSTAMP}"></echo> 
</target>

<target name="all" depends="compilesrc, javadoc, checkstyle"/>

<!-- 编译源文件 --> 
<target name="compilesrc" depends="init"> 
<mkdir dir="${dist.classes}"/>

<javac destdir="${dist.classes}" deprecation="on"> 
<src path="${src.code}"/> 
<classpath refid="classpath"/> 
</javac>

<jar jarfile="${dist.lib}/${lib.jar}" basedir="${dist.classes}"> 
<include name="**/*.class"/> 
</jar> 
</target>

<!-- 产生javadoc --> 
<target name="javadoc" depends="init"> 
<mkdir dir="${doc.api}"/>

<javadoc packagenames="${javadoc.package}" sourcepath="${src.code}" 
private="yes" defaultexcludes="yes" destdir="${doc.dir}/api"> 
<classpath refid="classpath"/> 
</javadoc> 
</target>

<!-- 编译Junit文件 --> 
<target name="compilejunit" depends="compilesrc"> 
<mkdir dir="${dist.junit}"/>

<javac destdir="${dist.junit}" deprecation="on"> 
<src path="${src.junit}"/> 
<classpath refid="classpath"/> 
</javac> 
</target>

<!-- 运行checkstyle检查代码规范 --> 
<target name="checkstyle" depends="init"> 
<mkdir dir="${doc.checkstyleReport}"/>

<checkstyle config="${checkstyle.config}"> 
<fileset dir="${src.code}" includes="**/*.java"/> 
<formatter type="plain"/> 
<formatter type="xml" toFile="${doc.checkstyleReport}/checkstyle_report.xml"/> 
</checkstyle>

<style in="${doc.checkstyleReport}/checkstyle_report.xml" out="${doc.checkstyleReport}/checkstyle_report.html" style="${checkstyle.xsl}"/> 
</target>

<!-- 运行junit --> 
<target name="junit" depends="compilejunit"> 
<mkdir dir="${doc.junitReport}"/> 
<copy todir="${dist.junit}"> 
<fileset dir="junit_lib"> 
<exclude name="**/*.jar"/> 
</fileset>

<fileset dir="${src.code}"> 
<include name="fog.hbm.xml"/> 
</fileset> 
</copy>

<junit printsummary="yes" haltonfailure="no"> 
<classpath> 
<path refid="classpath"/> 
<pathelement location="${dist.junit}"/> 
</classpath>

<formatter type="brief" usefile="false"/> 
<formatter type="xml"/>

<batchtest todir="${doc.junitReport}"> 
<fileset dir="${dist.junit}" includes="**/*Test.class" /> 
</batchtest> 
</junit>

<junitreport todir="${doc.junitReport}"> 
<fileset dir="${doc.junitReport}"> 
<include name="TEST*-*.xml"/> 
</fileset> 
<report format="frames" styledir="${junit.styleDir}" todir="${doc.junitReport}"/> 
</junitreport> 
</target>

<!-- 从Vss中获取最新版本 --> 
<target name="getVersion" depends=""> 
<vssget 
vsspath="${vss.path}" localpath="." login="codeline,codeline" 
ssdir="${vss.ssdir}" serverPath="${vss.svrdir}" autoresponse="N" recursive="true" 
quiet="true" /> 
</target>

<!-- 清除产生的类、junit相关类、文档 --> 
<target name="clean"> 
<delete dir="${dist.classes}"/> 
<delete dir="${dist.junit}"/> 
<delete dir="${doc.api}"/> 
<delete dir="${doc.junitReport}"/> 
<delete dir="${doc.checkstyleReport}"/> 
</target>

<!-- 清除所有输出结果 --> 
<target name="cleanall" depends="clean"> 
<delete dir="${doc.dir}"/> 
<delete dir="${dist.root}"/> 
</target> 
</project>

转自:http://blog.csdn.net/dust_bug/archive/2006/10/19/1341029.aspx

========================================================================

ant --help

ant -f build.properties

 

 

 

 

你可能感兴趣的:(build.xml,职场,休闲,ant模板)