<!--author:黄庆飞 ; date:2006.7 http://hqflysky.spaces.msn.com/-->
<?xml version="1.0"?>
<project name="sunpkcs11" default="help" basedir=".">
<!-- properies -->
<property name="src.dir" value="src" />
<property name="report.dir" value="report" />
<property name="classes.dir" value="bin" />
<property name="lib.dir" value="lib" />
<property name="dist.dir" value="packoutput" />
<property name="doc.dir" value="doc" />
<property name="test.dir" value="testcases" />
<property name="jre.dir" value="D:/winxp program/JBuilderX/jdk1.5/jre/lib" />
<property name="eclipse_plugins.dir" value="D:/winxp program/eclipse/plugins" />
<property environment="env"/>
<property name="java.home" value="${env.JAVA_HOME}"/>
<property name="ant.home" value="${env.ANT_HOME}"/>
<property name="java.home" value="${system.dir}"/>
<!-- 定义classpath -->
<path id="master-classpath">
<fileset file="${lib.dir}" id="mylib">
<include name="lib/mail.jar" />
<include name="lib/activation.jar" />
<include name="lib/bcprov-jdk15-131.jar" />
<include name="lib/jdom.jar" />
<include name="lib/mssqlserver.jar" />
<include name="lib/msutil.jar" />
<include name="lib/msbase.jar" />
<include name="lib/junit.jar" />
<include name="lib/jaxp/*.jar" />
</fileset>
</path>
<path id="plusin-classpath">
<fileset file="${eclipse_plugins.dir}" id="pluslib">
<include name="${eclipse_plugins.dir}/org.junit_3.8.1/*.*" />
</fileset>
</path>
<!-- 初始化任务 -->
<target name="init" description="initialize global parameter...">
<echo> 初始化开始 </echo>
<available property="junit.present" classname="junit.framework.TestCase" />
<echo> 初始化结束 </echo>
</target>
<target name="welcome" description="WelCome, Show System Information...">
<echo message="系统基本配置信息"/>
<echo message="Number of Processors = ${env.NUMBER_OF_PROCESSORS}"/>
<echo message="ANT_HOME is set to = ${ant.home}"/>
<echo message="JAVA__HOME is set to = ${java.home}"/>
</target>
<!-- 编译 -->
<target name="compile" depends="init" description="compile the source files">
<echo> 编译开始 </echo>
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" target="1.5">
<classpath refid="master-classpath" />
<exclude name="test/*.java"/>
</javac>
<echo> 编译结束 </echo>
</target>
<!-- 打包成jar -->
<target name="pack" depends="compile" description="make .jar file">
<echo> 开始打包jar </echo>
<mkdir dir="${dist.dir}" />
<jar destfile="${dist.dir}/hqfAPI.jar" basedir="${classes.dir}">
<exclude name="**/*build*.*" />
</jar>
<!-- 复制用到的库 -->
<mkdir dir="${dist.dir}/lib" />
<copy todir="${dist.dir}">
<fileset refid="mylib" />
</copy>
<!-- 复制本地化文件 -->
<!--copy todir="${dist.dir}" file="${swt.dll}"/-->
<echo> 结束打包jar </echo>
</target>
<!-- 测试初始化 -->
<target name="test-init" depends="pack" description="initialiaze local directory before junit test...">
<echo message="测试初始化---开始"/>
<delete dir="${test.dir}" />
<mkdir dir="${test.dir}"/>
<delete dir="${report.dir}" />
<mkdir dir="${report.dir}"/>
<echo message="测试初始化---结束"/>
</target>
<!--编译测试组-->
<target name="compiletests" depends="test-init" description="compile junit test class...">
<echo message="编译测试组开始"/>
<javac srcdir="${src.dir}/test" destdir="${test.dir}" target="1.5">
<classpath refid="master-classpath" />
<classpath id="winxp_lib">
<pathelement path="${dist.dir}/hqfAPI.jar"/>
</classpath>
<include name="**.*"/>
</javac>
<jar destfile="${dist.dir}/testall.jar" basedir="${test.dir}">
</jar>
<echo message="编译测试组结束"/>
</target>
<!-- 运行junit -->
<target name="runtests" depends="compiletests" description="run junit test suit and build a report about it...">
<echo message="run test开始" />
<junit printsummary="true" haltonfailure="true" fork="yes">
<classpath refid="master-classpath" />
<classpath>
<pathelement location="${dist.dir}/*.jar" />
<pathelement location="${test.dir}/test/*.*" />
<pathelement path="" />
</classpath>
<classpath>
<pathelement path="${dist.dir}/hqfAPI.jar"/>
</classpath>
<formatter type="plain"/>
<test name="test.testall" haltonfailure="no" outfile="${report.dir}/result">
<formatter type="xml"/>
</test>
</junit>
<echo message="run test结束" />
<echo message="自动生成测试报表开始"/>
<junitreport todir="${report.dir}">
<fileset dir="${report.dir}">
<include name="*.xml" />
</fileset>
<report format="frames" todir="${report.dir}/html" />
</junitreport>
<echo message="自动生成测试报表结束"/>
</target>
<!--压缩report成zip文件-->
<target name ="zip" description ="zip the report files...">
<zip destfile="${report.dir}/reports.zip">
<zipfileset dir="${report.dir}/html" prefix=""/>
</zip>
</target>
<!--将zip文件发送email-->
<target name ="mail" description ="mail the zip report file to the manager...">
<mail mailhost="smtp.tom.com" mailport="25" subject="Test build" user="XXX" password="XXX" charset="utf-8" messagemimetype="multipart/mixed">
<from name="XXX" address="XXX@tom.com"/>
<to name="XXX" address="XXX@sina.com"/>
<cc name="XXX" address="XXX@sina.com"/>
<bcc name="XXX" address="XXX@21cn.com"/>
<message>The nightly build has completed</message>
<fileset dir="${report.dir}">
<include name="reports.zip"/>
</fileset>
</mail>
</target>
<!-- 输出api文档 -->
<target name="doc" description="create api doc">
<echo message="正在更新api文档"/>
<delete dir="${doc.dir}" />
<mkdir dir="${doc.dir}" />
<javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="HQF API">
<packageset dir="${src.dir}" defaultexcludes="yes">
<include name="com/hqf/security/**" />
<include name="com/hqf/email/**" />
<include name="com/hqf/http/**" />
<include name="com/hqf/test/**" />
</packageset>
<doctitle>
<![CDATA[<h1>XXX GEDIP API</h1>]]></doctitle>
<bottom>
<![CDATA[<i>XXXAll Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:" />
</javadoc>
<echo message="更新api文档结束"/>
</target>
<target name="help" description="show help">
<echo message="Build the usage_example project"/>
<echo message="Usage: ant [ant options] [target1]\
[target2 | target3 | ... ]"/>
<echo message=""/>
<echo message=" build-lib - build just the project's library"/>
<echo message=" build-app - build the library and \
the application"/>
<echo message=" deploy-app - ready the \
application for deployment"/>
<echo message=" makedoc - generate all the \
documentation for the project"/>
<echo message=" -projecthelp - (An Ant option) Display all \
target descriptions"/>
</target>
</project>
<!--author:黄庆飞 ; date:2006.7-->
分享到:
相关推荐
通过ant脚本,编译打包android工程。 编译打包android工程的ant脚本,Android官方提供的打包脚本。 有注释
"ant案例"涵盖了各种实际场景的应用,比如如何配置Ant来编译Java项目、打包JAR文件、生成WAR文件以部署到Web服务器,甚至如何执行单元测试、代码覆盖率分析等。通过实际操作案例,可以更直观地学习Ant的工作原理和...
Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者能够通过简单的脚本进行项目构建,而无需深入理解复杂的命令行语法。 **一、Ant的安装与配置** 1. **下载与解压**:首先,你需要从Apache...
在"Ant打包编译部署工具学习笔记2"中,我们可以预期博主分享了关于如何利用Ant进行更复杂的构建操作,例如集成测试、优化和打包。这可能包括如何配置build.xml文件,添加自定义任务,以及如何处理依赖关系。由于没有...
### ANDROID_ANT自动编译打包签名教程 #### 一、前言 随着移动应用开发的不断深入和技术迭代,为了提高开发效率与版本发布的便捷性,自动化构建工具的应用变得尤为重要。ANT作为一款开源的Java编译工具,在Android...
在Java开发过程中,构建工具是不可或缺的一部分,它们帮助开发者自动化执行任务,如编译、测试、打包等。Ant是Apache组织提供的一款强大的构建工具,它使用XML来描述项目构建过程,具有灵活性和可扩展性。本篇将深入...
在Java项目中,`Ant`常用于编译源代码、生成文档、打包、测试等任务。`JAR`(Java Archive)文件则是Java平台的标准归档格式,用于封装类文件、资源文件和元数据,便于分发和执行。 首先,我们需要了解`Ant`脚本的...
Ant是一个基于XML的构建工具,它允许开发者定义任务来自动化构建过程,如编译源代码、创建JAR文件、运行测试等。 首先,我们来看源文件`Sample.java`,它包含一个主类`Sample`,使用了`javax.swing.JOptionPane`来...
- **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目进行自动化编译与打包。 #### 二、环境说明 - **Ant...
- **打包**:Ant支持将编译后的类文件打包成JAR、WAR或EAR文件,方便部署。 - **部署**:可以将打包后的应用上传到远程服务器,或者在本地文件系统中移动。 - **清理**:清除编译过程中产生的临时文件和目标目录,...
在Java开发中,Ant常用于自动化编译、测试、打包和部署等任务。 首先,Ant的核心是构建文件`build.xml`,它包含了构建过程的所有指令。这个文件定义了目标(target)和任务(task),每个目标都是一个具体的构建...
${flex.sdk}/ant/lib/flexTasks.jar"/> <mxmlc file="src/Main.mxml"> ${flex.sdk}/frameworks/flex-config.xml"/> ${flex.sdk}/src"/> <source-path path-element="src"/> <output file="bin/Main.swf"/>...
ANT配置,打包,编译
### Ant编译打包Android工程流程详解 #### 一、Ant编译打包步骤 在深入了解Ant如何帮助我们构建Android项目之前,我们先来了解整个编译打包的过程。 1. **使用aapt为项目资源生成R.java文件** - **工具介绍**:...
在build.xml文件中,你可以定义构建任务,如编译源码、打包JAR、执行测试等。 build.xml是Ant的核心,它是构建过程的蓝图。例如,你可以定义一个target元素来表示一个特定的构建步骤,如`<target name="compile">`...
当应用hudson一类的自动化平台来构建Eclipse插件时,不能直接调用ANT工具来编译。本工具自动修改Eclipse的路径为 ${ECLIPSE_HOME},并且自动可查找相应插件。 使用方法: java -jar buildfileGenerator.jar build....
在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。本文介绍了android编译和ant打包原理
Ant 的概念是当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,于是需要一个流程脚本引擎来自动化调用程序完成项目的编译,打包,测试等。Ant 就是这样一个流程脚本引擎,用于自动化...
- **Ant简介**:Ant是一个开源的Java构建工具,它能够将软件开发中的各种任务(如编译、测试、部署)自动化,大大简化了开发过程。Ant通过读取XML格式的构建文件(通常是`build.xml`)来执行一系列预定义的任务。 -...