
<!-- ================================================ -->
<!-- Properties and classpaths -->
<!-- ================================================ -->
<property file="ant.properties"/>

<property name="build.generated"     value="${ro.build}/generated"/>
<property name="build.compile_beans" value="${ro.build}/compile_beans"/>
<property name="build.compile_web"   value="${ro.build}/compile_web"/>
<property name="build.stage_web"     value="${ro.build}/roller"/>
<property name="build.tests"         value="${ro.build}/tests"/>
<property name="build.javadoc"       value="${ro.build}/javadoc"/>
<property name="build.velocidoc"     value="${ro.build}/velocidoc"/>
<property name="build.jspc"          value="${ro.build}/jspc"/>
<property name="build.reports"       value="${ro.build}/reports"/>
<property name="tools.struts"    value="${ro.tools}/struts-1.2.4" />
<property name="tools.hibernate" value="${ro.tools}/hibernate-2.1" />
<property name="tools.jstl"      value="${ro.tools}/standard-1.0.3" />
<property name="tools.xdoclet"   value="${ro.tools}/buildtime/xdoclet-1.2" />
<property name="tools.tomcat"    value="${ro.tools}/buildtime/tomcat-4.1.24" />

<!--
If you would like Ant to copy all the jar files that Resin needs
into the /WEB-INF/lib, uncomment the "resinServer" property below.
In order to run Roller properly on versions of Resin prior to 2.1.9
you will need to uncomment the "resinFilters" and "resin.path" elements
below.  In addition, make sure to uncomment the reference to resin.path
in the "base.path" definition.
 -->
<!--property name="resinServer" value="true" /-->
<!--
<property name="resinFilters" value="true" />
<fileset id="resin.jars" dir="../../resin-2.1.8/lib" >
   <include name="resin.jar" />
</fileset>
-->

<!-- **************************************************************** -->
<!-- Define filesets to be used in paths and copy tasks -->
<!-- **************************************************************** -->

<fileset id="base.jars" dir="${ro.tools}/lib">
    <include name="commons-cache.jar" />
    <include name="concurrent-1.3.2.jar"/>
    <include name="log4j-1.2.4.jar"/>
    <include name="activation.jar"/>
    <include name="mail.jar"/>
    <include name="jazzy-core.jar" />
    <include name="commons-betwixt-1.0-beta-1.jar" />
    <include name="rome-0.6.jar"/>
    <include name="rome-fetcher-0.6.jar"/>
    <include name="commons-httpclient-2.0.2.jar"/>
    <include name="lucene-1.4.3.jar"/>
    <include name="commons-codec-1.1.jar" />
    <include name="velocity-1.4.jar"/>
    <include name="velocity-dep-1.4.jar"/>
    <include name="velocity-tools-1.1.jar"/>
</fileset>

<fileset id="presentation.jars" dir="${ro.tools}/lib">
    <include name="xmlrpc-1.2-b1.jar"/>
    <include name="taglibs-string.jar"/>
</fileset>

<fileset id="xml.jars" dir="${tools.hibernate}/lib">
    <include name="jdom.jar"/>
    <include name="dom4j-1.4.jar"/>
</fileset>

<fileset id="commons.jars" dir="${tools.struts}/lib">
    <include name="commons-*.jar"/>
</fileset>

<fileset id="struts.jars" dir="${tools.struts}/lib">
    <include name="*.jar"/>
</fileset>

<fileset id="servlet.jars" dir="${tools.tomcat}">
    <include name="servlet-api.jar"/>
</fileset>

<fileset id="jstl.jars" dir="${ro.tools}/standard-1.0.3/lib">
    <include name="jstl.jar"/>
    <include name="standard.jar"/>
    <include name="jaxen-full.jar"/>
</fileset>

<fileset id="hibernate.jar" dir="${tools.hibernate}">
    <include name="hibernate2.jar"/>
</fileset>

<fileset id="hibernate.jars" dir="${tools.hibernate}/lib">
    <include name="*.jar"/>
</fileset>

<path id="xml.path">
    <fileset refid="xml.jars" />
</path>

<!-- **************************************************************** -->
<!-- Define path based on above filesets -->
<!-- **************************************************************** -->

<!-- Dependencies common to both presentation and business layers -->
<path id="base.path">
    <path refid="xml.path"/>
    <fileset refid="base.jars"/>
    <fileset refid="commons.jars"/>
</path>

<path id="presentation.path">
    <path refid="base.path"/>
    <fileset refid="presentation.jars"/>
    <fileset refid="struts.jars"/>
    <fileset refid="servlet.jars"/>
    <fileset refid="jstl.jars"/>
    <!--fileset refid="resin.jars" /-->
</path>

<path id="business.path">
    <path refid="base.path"/>
    <fileset refid="hibernate.jar" />
    <fileset refid="hibernate.jars" />
    <path location="${build.compile_beans}"/>
</path>

<path id="javadoc.path">
    <path refid="base.path"/>
    <path refid="presentation.path"/>
    <path refid="business.path"/>
</path>

<path id="xdoclet.path">
    <path refid="presentation.path"/>
    <path refid="business.path"/>
    <fileset dir="${ro.tools}/buildtime/" includes="ejb-1.1.jar"/>
    <fileset dir="${tools.xdoclet}/lib" includes="*.jar"/>
</path>

<path id="webdoclet.path">
    <path refid="xdoclet.path"/>
    <path location="${ro.build}/generated/src.presentation"/>
    <path location="${ro.build}/compile_beans"/>
    <path location="${ro.build}/compile_web"/>
</path>

<path id="junit.path">
    <fileset dir="${ro.tools}/buildtime/" includes="junit-3.8.1.jar"/>
    <path location="${build.tests}/WEB-INF/classes" />
    <path>
       <fileset dir="${ro.tools}/buildtime/mockrunner-0.35/lib">
          <include name="*.jar"/>
       </fileset>
    </path>
    <path>
       <fileset dir="${build.stage_web}/WEB-INF/lib">
          <include name="*.jar"/>
       </fileset>
    </path>
    <path location="${ro.tools}/buildtime/ant-1.6.2/ant.jar"/>
    <path location="${ro.tools}/buildtime/strutstest-2.0.0.jar"/>
    <path location="${ro.tools}/buildtime/hsqldb.jar"/>
    <path location="${ro.tools}/buildtime/tomcat-4.1.24/servlet-api.jar"/> 
    <path location="${ro.tools}/buildtime/tomcat-4.1.24/jasper-runtime.jar"/> 
    <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
</path>

<path id="findbugs.path">
    <path refid="presentation.path"/>
    <path refid="business.path"/>
    <path refid="junit.path"/>
    <fileset dir="${basedir}/contrib/lib" includes="*.jar"/>
    <fileset dir="${ro.tools}/buildtime/findbugs/lib" includes="*.jar"/>
</path>


