因为最近一个项目要用到SVN与自动构建,所以现学了学ANT的使用,总结如下代码
<?xml version="1.0" encoding="GB2312" ?>
<project name="HelloWorld" basedir="." default="all">
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="test.dir" value="test" />
<property name="xsl.dir" value="etc" />
<property name="classes.dir" value="classes" />
<property name="dist.dir" value="dist" />
<property name="build.dir" value="${dist.dir}/build" />
<property name="jar.dir" value="${dist.dir}/jar" />
<property name="report.dir" value="${dist.dir}/report" />
<!-- svn url
<property name="url" value="svn://192.168.0.112/project/" />
-->
<!-- tomcat_home
<property name="tomcat.dir" value="E:/Tomcat 5.5"/>
-->
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar" />
</path>
<target name="init">
<delete dir="${dist.dir}" />
<!--准备目录-->
<mkdir dir="${dist.dir}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${jar.dir}" />
<mkdir dir="${report.dir}" />
</target>
<!-- tomcat_stop
<target name="tomcat-stop">
<exec dir="${tomcat.dir}/bin" executable="cmd">
<env key="CATALINA_HOME" path="${tomcat.dir}" />
<arg value="/c shutdown.bat" />
</exec>
</target>
LINUX中运行
<target name="shell">
<exec dir="${tomcat.dir}/bin" executable="bash">
<env key="CATALINA_HOME" path="${tomcat.dir}" />
<arg value="startup.sh" />
</exec>
</target>
-->
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpath="${lib.dir}" />
<!-- 从SVN更新项目(未测试) -->
<target name="checkout" depends="init">
<svn javahl="true" username="" password="">
<checkout url="${url}" destPath="${local.dir}" />
</svn>
</target>
<target name="compile" depends="checkout" description="将源代码编译">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath" />
<copy todir="${classes.dir}">
<fileset dir="${src.dir}" excludes="**/*.java" />
</copy>
<java classname="test.HelloWorld" classpath="${classes.dir}" classpathref="classpath" />
</target>
<target name="jar" depends="compile" description="打成jar包">
<jar basedir="${classes.dir}" jarfile="${jar.dir}/TestAnt.jar">
<exclude name="**/Test*.class" />
</jar>
</target>
<!--生成单元测试结果文档-->
<target name="buildTest" depends="compile" description="编译测试源码">
<javac srcdir="${test.dir}" destdir="${classes.dir}">
<classpath refid="classpath" />
</javac>
</target>
<target name="junit" depends="buildTest" description="执行单元测试">
<tstamp />
<junit printsummary="yes">
<classpath>
<pathelement location="${classes.dir}" />
</classpath>
<classpath refid="classpath" />
<formatter type="xml" />
<batchtest todir="${report.dir}">
<fileset dir="${test.dir}">
<include name="**/Test*.java" />
</fileset>
<formatter type="brief" />
</batchtest>
</junit>
<junitreport todir="${report.dir}">
<fileset dir="${report.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="noframes" styledir="${xsl.dir}" todir="${report.dir}" />
</junitreport>
</target>
<!-- 部署项目的时候,将CLASS文件打包成JAR,再将WEBROOT打包成WAR,拷贝到TOMCAT中 -->
<!-- tomcat_start
<target name="tomcat-start">
<exec dir="${tomcat.dir}/bin" executable="cmd">
<env key="CATALINA_HOME" path="${tomcat.dir}" />
<arg value="/c startup.bat" />
</exec>
</target>
-->
<target name="all" depends="jar,junit" description="执行所有任务" />
</project>
只看了2、3天,还处于迷糊状态。