<?xml version="1.0" encoding="UTF-8"?>
<!-- Ant构建文件总是有一个<project>元素做为根元素,它有两个属性,name和default,<target>元素是<project>元素的子元素,可以有多个,它有两个属性,name和depends,<target>元素包含的元素就是一些任务元素。
<target>可以由命令行进行显示的调用,也可以在内部使用如可以直接调用ant init、ant compile等。如果不写参数,则默认的build文件是build.xml,默认的目标是<project>的default属性定义的目标。目标的名称是唯一的,可以是任意字符串。
下面我们先运行一下这个Ant构建,再讲解其他的内容,进入工程目录,执行
ant
这里就相当于执行默认的目标,也就是<project name="structured" default="archive" >中的archive目标。 -->
<project name="structured" default="xml2html">
<property name="webroot" value="WebRoot"/>
<property name="src.dir" value="src"/>
<property name="lib.dir" value="WebContent/WEB-INF/lib"/>
<!--引入checkstyle的jar文件-->
<property name="checkstyle.dir" value="D:/技术积累文档/ant/checkstyle" />
<!-- 定义输出结果目录 -->
<property name="result.dir" value="D:/技术积累文档/ant/checkstyle/result" />
<property name="result.html" value="D:/技术积累文档/ant/checkstyle/result/html" />
<!--创建输出的目录 -->
<target name="init">
<mkdir dir="build/classes" />
<mkdir dir="dist" />
<mkdir dir="${result.dir}" />
</target>
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<target name="cs" depends="init">
<taskdef resource="checkstyletask.properties" classpath="${checkstyle.dir}/checkstyle-5.5-all.jar"/>
<!-- 指定检查规范为GS_java_check.xml fileset指的要检查的文件;formatter type指结果返回格式 -->
<checkstyle failOnViolation="false" failureProperty="checkstyle.failure" config="${checkstyle.dir}/config.xml">
<fileset dir="src" includes="**/*.java" />
<formatter type="plain" />
<formatter type="xml" toFile="${result.dir}/checkstyle_report.xml" />
</checkstyle>
</target>
<target name="xml2html" depends="cs">
<!-- 将生产结果根据扩展样式表文件checkstyle-frames.xsl生成html页面,输出到html -->
<xslt in="${result.dir}/checkstyle_report.xml" out="${result.html}/checkstyle.html" style="${checkstyle.dir}/contrib/checkstyle-noframes.xsl">
</xslt>
</target>
<!--创建编译输出目录 从这里开始下面可以不需要 -->
<target name="compile" depends="init" description="编译">
<javac srcdir="src" destdir="build/classes" classpathref="classpath" />
<copy todir="build/classes">
<!-- copy config files -->
<fileset dir="src" includes="**/*.properties,**/*.xml,**/*.bsh,**/*.logic, **/*.hbm" />
</copy>
</target>
<!--把编译后的文件,打包放入到dist目录下,并取名为project.jar -->
<target name="archive" depends="compile" description="打包">
<jar destfile="dist/project.jar" basedir="build/classes" />
</target>
<target name="clean" depends="init" description="清除">
<delete dir="build" />
<delete dir="dist" />
</target>
</project>
