Explanation build.xml

Hello everybody,

Tomorrow we have an exam about J2EE with ant.

our teacher have give us a file, called 'build.xml' but he doesn't mentioned what it do...

I really hope someone could explain a bit more the following code because we have to know it for our exam....

Build.xml

<project name="moiracms" basedir="." default="main">

<property file="build.properties" />

<property name="src.dir"value="src"/>

<property name="build.dir"value="build"/>

<property name="classes.dir" value="${build.dir}/classes"/>

<property name="jar.dir"value="${build.dir}/package"/>

<property name="lib.dir" value="lib" />

<property name="descr.dir"value="${build.dir}/descriptor" />

<property name="html.dir" value="html" />

<property name="tld.dir" value="tld" />

<path id="classpath">

<fileset dir="${lib.dir}" includes="*jar" />

<fileset dir="${xdoclet.lib.dir}" includes="*jar" />

</path>

<target name="clean">

<delete dir="${build.dir}"/>

<delete dir="${src.dir}/interfaces" />

</target>

<target name="init" depends="clean">

<taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask" classpathref="classpath"/>

<taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" classpathref="classpath" />

<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="classpath" />

</target>

<target name="xdoclet" depends="init">

<webdoclet destdir="${descr.dir}">

<deploymentdescriptor servletspec="2.4"/>

<fileset dir="${src.dir}" includes="**/*Servlet.java" />

</webdoclet>

<hibernatedoclet destdir="${descr.dir}">

<fileset dir="${src.dir}" includes="**/*.java" />

<hibernate version="3.0" />

<hibernatecfg version="3.0"

jdbcUrl="jdbc:mysql://${mysql.server}:${mysql.port}/${mysql.dbase}"

dialect="org.hibernate.dialect.MySQLDialect"

driver="com.mysql.jdbc.Driver"

userName="${mysql.username}"

password="${mysql.password}" />

</hibernatedoclet>

<ejbdoclet destdir="${src.dir}">

<fileset dir="${src.dir}" includes="**/*Bean.java" />

<packagesubstitution packages="beans" substitutewith="interfaces" usefirst="true" />

<localhomeinterface />

<localinterface />

<homeinterface />

<remoteinterface />

<deploymentdescriptor destdir="${descr.dir}" />

</ejbdoclet>

</target>

<target name="compile" depends="xdoclet">

<mkdir dir="${classes.dir}"/>

<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>

</target>

<target name="war" depends="compile">

<mkdir dir="${jar.dir}" />

<war destfile="${jar.dir}/${ant.project.name}.war" webxml="${descr.dir}/web.xml">

<fileset dir="${html.dir}" includes="**/*" />

<webinf dir="${tld.dir}" includes="c.tld" />

<lib dir="${tld.dir}" includes="*.jar" />

</war>

</target>

<target name="jar" depends="compile">

<mkdir dir="${jar.dir}" />

<jar destfile="${jar.dir}/${ant.project.name}.jar">

<fileset dir="${classes.dir}" includes="**/*" />

<fileset dir="${descr.dir}" includes="classes/*.hbm.xml" />

<fileset dir="${descr.dir}" includes="hibernate.cfg.xml" />

<metainf dir="${descr.dir}" includes="ejb-jar.xml" />

</jar>

</target>

<target name="ear" depends="war,jar">

<ear appxml="application.xml" destfile="${jar.dir}/${ant.project.name}.ear">

<fileset dir="${jar.dir}">

</fileset>

</ear>

</target>

<target name="deploy" depends="ear">

<copy file="${jar.dir}/${ant.project.name}.ear" todir="${jboss.deploy.dir}" />

</target>

<target name="main" depends="deploy" />

</project>

Message was edited because: This one is a correct code from a working example.

[6979 byte] By [dj_vibria] at [2007-11-27 6:18:19]
# 1
Study hard: http://ant.apache.org/
Super_Squirrela at 2007-7-12 17:32:10 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...