利用Ant实现项目自动构建测试备份并发布到项目web(3)

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

利用Ant实现项目自动构建测试备份并发布到项目web(3)

<taskdef name="java2html" classname="com.java2html.Java2HTMLTask" />

<target name="javacode" depends="javadoc">

<java2html title="${project.name.info}version(${project.version.info}) Source Code Online View"

simple="no"

tabsize="4"

marginsize="2"

header="true"

footer="true"

encoding="UTF-8"

destination="${code.dir}">

<fileset dir="${src.dir}">

<include name="**/*.java"/>

</fileset>

<javadoc localRef="${doc.dir}" />

</java2html>

</target>

又来了一个新的关键字taskdef,这个是用来做什么的呢?听我慢慢道来。

古人云:“人无完人”,ant的开发者也是这样,他不可能预见到所有用户的需求,也就不能知道当前用户需要哪些task,肯定就会出现用户希望得到的task而ant默认没有支持的情况,所以ant的开发者提供了一个借口,可以让用户自定义自己的task,然后通过taskdef来声明(对要为开发者的这个想法击节叫好,用汤司令了一句名言“高,实在是高”),这样就实现了ant的无限扩展了。Taskdef至少要指明name和classname。Name用来指定这个task的任务的标签名,像javadoc这样的就是标签名(javadoc是ant内置的task),classpath就是这个标签名的要执行的类的方法名,关于这个扩展task的开发我会在其他文章中阐述的,这里就到此为止,大家心里有这个印象就可以了(java2html可以看出是一个把java代码转换成html文档的工具,我使用的是我的修改版,可以支持字符编码,详情见拙著的〈java2html改造手记〉系列文章,当前我已经开发了java2html的图形界面,同样我会另外撰文阐述)。

<target name="compile" depends="init">

<javac srcdir="${src.dir}"

destdir="${bin.dir}"

encoding="${project.encoding.info}"

debug="off"

optimize="on">

<classpath refid="appClassPath" />

</javac>

</target>

这个也很简单,就是一个编译。

<target name="junit" depends="compile">

<junit printsummary="yes" fork="yes" haltonfailure="no">

<classpath>

<pathelement location="${bin.dir}"/>

<pathelement path="${java.class.path}"/>

</classpath>

<formatter type="xml"/>

<batchtest todir="${juit.report.dir}/xml/${DSTAMP}">

<fileset dir="${bin.dir}">

<include name="**/*Test.class" />

</fileset>

</batchtest>

</junit>

<junitreport todir="${juit.report.dir}/xml/${DSTAMP}">

<fileset dir="${juit.report.dir}/xml/${DSTAMP}">

<include name="TEST-*.xml"/>

</fileset>

<report format="noframes" todir="${juit.report.dir}/html/${DSTAMP}"/>

</junitreport>

</target>

这是一个测试target。执行全部的测试代码,并把测试结果生成xml文档并将这个xml文档转换成html文档,junit也是ant默认支持的(java的开源社区的力量实在是太强大了,向广大的开源社区的同志们致敬)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有