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

类别:Java 点击:0 评论:0 推荐:

利用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 &#169; 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