Wednesday, December 29, 2010

ANT - sample build.xml & build.properties files for creating WAR

build.xml

<?xml version="1.0" ?>
<project name="TestProject" default="war" basedir=".">

<property file="build.properties"/>

<property name="src.home" value="${basedir}/src"></property>
<property name="dist.home" value="${basedir}/dist"/>
<property name="web.home" value="${basedir}/WebRoot"></property>
<property name="build.home" value="${web.home}/WEB-INF/classes"/>
<property name="lib.home" value="${web.home}/WEB-INF/lib"/>
<property name="lib.ext.home" value="${basedir}/lib"/>


<path id="compile.classpath">
<fileset dir="${lib.home}">
<include name="*.jar"/>
</fileset>
<fileset dir="${lib.ext.home}">
<include name="*.jar"/>
</fileset>
</path>

<target name="init">
<mkdir dir="${dist.home}" />
</target>

<target name="compile" depends="init" >
<javac destdir="${build.home}" debug="true" srcdir="${src.home}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}">
<fileset dir="${src.home}" includes="**/*.properties,**/*.xml"/>
</copy>
</target>

<target name="war" depends="compile">
<war destfile="${dist.home}/${app.name}.war" webxml="${web.home}/WEB-INF/web.xml">
<fileset dir="${web.home}"/>
</war>
</target>

<target name="clean">
<delete dir="${dist.home}" />
<delete includeemptydirs="true">
<fileset dir="${build.home}" includes="**/*"/>
</delete>
</target>

<target name="deploy2Tomcat">
<copy todir="${tomcat.webapps.dir}">
<fileset dir="${dist.home}" includes="${app.name}.war" />
</copy>
</target>

</project>

<copy todir="${build.home}">
<fileset dir="${src.home}" includes="**/*.properties,**/*.xml"/>
</copy>
</target>

<target name="war" depends="compile">
<war destfile="${dist.home}/${app.name}.war" webxml="${web.home}/WEB-INF/web.xml">
<fileset dir="${web.home}"/>
</war>
</target>

<target name="clean">
<delete dir="${dist.home}" />
<delete includeemptydirs="true">
<fileset dir="${build.home}" includes="**/*"/>
</delete>
</target>

<target name="deploy2Tomcat">
<copy todir="${tomcat.webapps.dir}">
<fileset dir="${dist.home}" includes="${app.name}.war" />
</copy>
</target>

</project>


build.properties

app.name=TestProject

catalina.home=D:/apache-tomcat-6.0.20
tomcat.webapps.dir=${catalina.home}/webapps