<?xml version="1.0" encoding="UTF-8"?>
<project name="genwar" default="all" basedir="."> <description> - Generate war file - </description> <property environment="env" /> <property name="debuglevel" value="source,lines,vars" />
<property name="target" value="1.6" />
<property name="source" value="1.6" /> <property name="output.dir" location="." />
<property name="output.file" value="new_cos.war" /> <property name="project.build" location="./build" />
<property name="project.src" location="./src" />
<property name="project.web" location="../web" />
<property name="project.lib" location="./lib" />
<property name="project.res" location="./res" />
<property name="project.svc" location="./svc" /> <property name="project.war" location="${project.build}/${output.file}" /> <property name="tmp" location="${project.build}/tmp" />
<property name="tmp.src" location="${tmp}/src" />
<property name="tmp.lib" location="${project.web}/WEB-INF/lib" />
<property name="tmp.bin" location="${tmp}/bin" />
<property name="tmp.web" location="${tmp}/web" />
<property name="tmp.classes" location="${tmp}/classes" /> <property name="checkstyle.dir" location="./ant-task/checkstyle" />
<property name="findbugs.dir" location="./ant-task/findbugs/home" />
<property name="findbugs.report.dir" location="./ant-task/findbugs" />
<property name="junit.reports.dir" value="./ant-task/junit/reports" />
<property name="junit.class.dir" value="./ant-task/junit/bin" />
<property name="junit.test.src" location="./test/java" />
<property name="junit.test.resources" location="./test/resources" /> <path id="javaclass.path">
<pathelement path="${env.classpath}" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
<fileset dir="${tmp.lib}" includes="*.jar" />
<!-- <fileset dir="${project.lib}" includes="*.jar" /> -->
</path> <path id="findbugs.path">
<fileset dir="${findbugs.dir}" includes="**/*.jar" />
</path> <target name="clean">
<delete file="${output.dir}/${output.file}" failonerror="false" />
<delete dir="${project.build}" failonerror="false" />
<mkdir dir="${project.build}" />
</target> <target name="all" depends="clean,buildwar" /> <target name="initdir"> <echo message="Init directories " /> <delete dir="${tmp}" failonerror="false" /> <mkdir dir="${tmp}" /> <mkdir dir="${tmp.src}" />
<copy todir="${tmp.src}">
<fileset dir="${project.src}" excludes="**/.svn/**" />
</copy> <mkdir dir="${tmp.lib}" />
<!--
<copy todir="${tmp.lib}">
<fileset dir="${project.web}/WEB-INF/lib" includes="*.jar" />
</copy>
--> <mkdir dir="${tmp.bin}" /> <mkdir dir="${tmp.web}/WEB-INF/lib" /> <delete dir="${tmp.web}/WEB-INF/classes" failonerror="false" />
<mkdir dir="${tmp.web}/WEB-INF/classes" /> </target> <target name="compilejava" depends="initdir">
<echo message="Compiling java code " /> <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
<src path="${tmp.src}" />
<classpath refid="javaclass.path" />
</javac> <copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
<fileset dir="${tmp.src}">
<exclude name="**/*.java" />
</fileset>
</copy>
<copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
<fileset dir="${tmp.bin}">
<include name="**/*.class" />
</fileset>
</copy>
</target> <target name="compilejava-without-copy" depends="initdir">
<echo message="Compiling java code " /> <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
<src path="${tmp.src}" />
<classpath refid="javaclass.path" />
</javac> </target> <target name="buildwar" depends="compilejava"> <echo message="Packing war file " /> <copy todir="${tmp.web}">
<fileset dir="${project.web}" excludes="**/.svn/**" />
</copy> <delete file="${project.war}" failonerror="false" />
<war destfile="${project.war}" basedir="${tmp.web}" webxml="${tmp.web}/WEB-INF/web.xml" encoding="utf-8" />
<delete dir="${tmp}" failonerror="false" /> <delete file="${output.dir}/${output.file}" failonerror="false" />
<move todir="${output.dir}" includeemptydirs="false" filtering="true">
<fileset dir="${project.build}">
<include name="**/*.war" />
</fileset>
</move> <delete dir="${project.build}" failonerror="false" /> </target> <taskdef resource="checkstyletask.properties"
classpath="${checkstyle.dir}/checkstyle-5.5-all.jar"/> <target name="checkstyle"
description="Generates a report of code convention violations."> <checkstyle config="${checkstyle.dir}/my_check.xml"
failureProperty="checkstyle.failure" failOnViolation="false">
<formatter type="xml" tofile="${checkstyle.dir}/checkstyle_report.xml" />
<fileset dir="${project.src}" includes="**/*.java" />
</checkstyle> <!-- style in="checkstyle_report.xml" out="checkstyle_report.html"
style="checkstyle.xsl" /--> </target> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref ="findbugs.path"/> <target name="findbugs" depends="compilejava-without-copy"
description="用Findbugs检查代码错误.">
<echo>开始用Findbugs检查代码错误</echo>
<findbugs home="${findbugs.dir}" output="xml"
outputFile="${findbugs.report.dir}/findbugs_report.xml" >
<auxClasspath >
<path refid="junit.test.lib.path" />
</auxClasspath>
<!--auxClasspath path="${basedir}/lib/Regex.jar" /-->
<sourcePath path="${tmp.src}" />
<class location="${tmp.bin}" />
</findbugs>
<echo>Findbugs检查代码错误完成</echo> <delete dir="${project.build}" failonerror="false" />
</target> <target name="junit-init" >
<delete dir="${junit.class.dir}" failonerror="false" />
<mkdir dir="${junit.class.dir}" />
<delete dir="${junit.reports.dir}/result-xml" failonerror="false" />
<mkdir dir="${junit.reports.dir}/result-xml" />
<delete dir="${junit.reports.dir}/html" failonerror="false" />
<mkdir dir="${junit.reports.dir}/html" />
<delete dir="${junit.reports.dir}/html-result" failonerror="false" />
<mkdir dir="${junit.reports.dir}/html-result" />
</target> <target name="junit-compile" depends="junit-init">
<echo message="${project.web}/WEB-INF/lib"/>
<javac srcdir="${project.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
<classpath refid="junit.test.lib.path" />
</javac>
<javac srcdir="${junit.test.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
<classpath refid="junit.test.lib.path" />
</javac>
<copy todir="${junit.class.dir}">
<fileset dir="${junit.test.resources}">
<include name="**/*.xml" />
</fileset>
</copy>
<copy todir="${junit.class.dir}">
<fileset dir="${project.src}">
<include name="**/*.xml" />
</fileset>
</copy>
</target> <path id="junit.test.lib.path">
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jboss-j2ee.jar" />
<fileset dir="${project.web}/WEB-INF/lib" includes="**/*.jar" />
<fileset dir="${project.lib}" includes="**/*.jar" />
</path> <target name="junit-test" depends="junit-compile">
<junit printsummary="yes">
<classpath>
<!-- 指定lib和class路径,class和jar的声明不能混在一起 -->
<pathelement location="${junit.class.dir}" />
<path refid="junit.test.lib.path" />
</classpath>
<batchtest todir="${junit.reports.dir}/result-xml">
<fileset dir="${junit.test.src}" includes="**/*TestCase.java" />
<formatter type="xml" />
</batchtest>
</junit>
<junitreport todir="${junit.reports.dir}/html-result">
<!-- 指定测试结果的XML,即上一步产生的XML -->
<fileset dir="${junit.reports.dir}/result-xml">
<include name="TEST-*.xml" />
</fileset>
<!-- 根据测试结果XML,生成TESTS-TestSuites.xml,并由此产生HTML文件 -->
<report format="frames" todir="${junit.reports.dir}/html" />
<!--
-->
</junitreport>
</target>
</project>

一个完整的ant build.xml的更多相关文章

  1. 一个完整的JENKINS下的ANT BUILD.XML文件(Jenkins可以参考)

    一个完整的JENKINS下的ANT BUILD.XML文件 <?xml version="1.0" encoding="UTF-8"?> <p ...

  2. Java Ant build.xml详解

    1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因为 ...

  3. (转)Java Ant build.xml详解

    1,什么是ant ant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因 ...

  4. Ant build.xml相关属性详解

    关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序 ...

  5. Eclipse 运行ant build.xml

    在命令行cmd运行mvn clean install,ant compiler,提示上述信息,是因为 maven的这个插件要求jdk1.6,但是本地电脑环境变量jdk版本为1.7.将JAVA_HOME ...

  6. Ant build xml中的各种变量解释

    Ant build.xml中的各种变量 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2.      build.xml文件中定义的变量, 3.      ...

  7. Java eclipse下 Ant build.xml实例详解 附完整项目源码

    在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家. 一.本人测试环境eclip ...

  8. Java MyEclipse下Ant build.xml简单实例详解

    一.下载配置ant 1.首先下载ant: http://www.apache.org/ 下载最新的版本2.解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:A ...

  9. Java eclipse下 Ant build.xml实例详解

    在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家. 一.本人测试环境eclip ...

随机推荐

  1. Android底部导航栏创建——ViewPager + RadioGroup

    原创文章,引用请注明出处:http://www.cnblogs.com/baipengzhan/p/6270201.html Android底部导航栏有多种实现方式,本文详解其中的ViewPager ...

  2. VBS脚本代码(手工编写---在windows 7上调用系统对话框,来选择文件)

    '=========================================================================='' VBScript Source File - ...

  3. NGUI插件的一个扩展---NGUI_HUD_Text

    NGUI_HUD_Text扩展主要用于主角跟随和伤害/治疗的功能. 场景大概是这样的,我们希望有一个主角,在其头顶显示他的名字,在单击鼠标左键的时候显示红色的“-10”表示减少血量,单击鼠标右键的时候 ...

  4. 括号匹配(C++ Stack)

    最近在学习C++,所以使用stack容器来实现括号匹配 /**********************************************************/ stack<Ty ...

  5. "Debugging not possible in single session mode"

    PLSQL  Developer在测试存储过程,遇到"Debugging not possible in single session mode" 解决办法: 点击菜单栏" ...

  6. EntityFramwork所有 SSDL 项目都必须以同一提供程序为目标。ProviderManifestToken“2008”不同于以前遇到的“2005”

    再用spring+mvc+EF搭建框架时,出现这个问题,网上没有找到类似的问题,删除实体重建后莫名其妙的好了,2008指的是连得数据库实例是2008版本的,2005指的是2005版本,出现问题的原因是 ...

  7. sqlserver 批量修改表前缀

    先把第一句话放到sqlserver查询器中执行一下.然后把查询结果复制出来,进行编辑...一看你就懂了..简单的sql语句拼装 select ' exec sp_rename "' + na ...

  8. 贪心+bfs 或者 并查集 Codeforces Round #268 (Div. 2) D

    http://codeforces.com/contest/469/problem/D 题目大意: 给你一个长度为n数组,给你两个集合A.B,再给你两个数字a和b.A集合中的每一个数字x都也能在a集合 ...

  9. 编译使用tinyxml

    环境: win7 32位旗舰版,VS2010,tinyxml_2_6_2版本 1.下载tinyxml,并解压到tinyxml文件夹下 2.生成动态链接库 原生的Tinyxml只支持静态库(没有在.h文 ...

  10. Course

          Coursera计算机专业课程列表 巴黎中央理工学院人工视觉中的离散推理和学习  教授  Nikos Paragios & Pawan Kumar Jan 10th 2014  8 ...