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

    技术2022-05-11  63

    利用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,也很容易理解为了完成一个目标当然有可以使用多个方法了,这里的deletemkdir都是各自独立的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就像是文学中的倒叙似的。

     


    最新回复(0)