利用Ant实现项目自动构建测试备份并发布到项目web(2)
<path id="appClassPath">
<pathelement path="${java.class.path}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${bin.dir}">
<include name="**/*.class"/>
</fileset>
</path>
先配置一下路径问题,因为是一个java项目,当然优先考虑的是classpath了。
<target name="init">
<tstamp />
<delete dir="${dest.dir}" />
<delete dir="${doc.dir}" />
<delete dir="${code.dir}" />
<delete dir="${bin.dir}" />
<mkdir dir="${base.dir}"/>
<mkdir dir="${bin.dir}"/>
<mkdir dir="${dest.dir}"/>
<mkdir dir="${doc.dir}"/>
<mkdir dir="${code.dir}"/>
<mkdir dir="${bak.dir}"/>
<mkdir dir="${juit.report.dir}"/>
<mkdir dir="${juit.report.dir}/xml"/>
<mkdir dir="${web.dir}"/>
<mkdir dir="${web.code.dir}"/>
<mkdir dir="${web.doc.dir}"/>
<mkdir dir="${web.old.dir}"/>
<mkdir dir="${web.src.dir}"/>
<mkdir dir="${web.bin.dir}"/>
<mkdir dir="${web.report.dir}"/>
</target>
首先进行初始化任务,看起来也很简单。就是清空一些文件夹然后建立一些文件夹,这个target就是task的集合,也就是说一个target可以执行多个task,也很容易理解为了完成一个目标当然有可以使用多个方法了,这里的delete和mkdir都是各自独立的task。我在第一行写了<stamp />这个声明,说他是声明是因为如果你想在你的build脚本中使用当前的时间日期的话就必须指定这个,然后在后文中就可以使用${DSTAMP}这样的标签了。
<target name="javadoc" depends="init">
<javadoc packagenames="*"
destdir="${doc.dir}"
sourcepath="${src.dir}"
charset="${project.encoding.info}"
encoding="${project.encoding.info}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="${project.name.info} ${project.version.info} API Documentation">
<classpath refid="appClassPath" />
<doctitle>
<![CDATA[ <h1>${project.name} APIs(Version ${project.version})</h1> ]]>
</doctitle>
<bottom>
<![CDATA[ <div algin="center">Copyright © 2002-2003 www.ibeyond.org, All Rights Reserved.</div>]]>
</bottom>
<tag name="todo" scope="all" description="To do:" />
</javadoc>
</target>
第二个target,其中只有一个task就是javadoc,用来生成项目的api doc,基本上javadoc的参数都被ant支持了。所以你平时怎么用javadoc现在依然可以怎么用javadoc。合格target出现了一个新的关键字“depends”
也就是依赖,就是说如果要执行这个task那么就必须先运行他的“depends”在这里就是“init”,所以我写的这个build就像是文学中的倒叙似的。
本文地址:http://com.8s8s.com/it/it17257.htm