<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: $

Copyright 2006-2006 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->

<project name="geronimo" default="jar" basedir=".">

    <!-- ================================================================== -->
    <!-- Initialization of all property settings                            -->
    <!-- ================================================================== -->

    <target name="init">
        <property environment="env"/>
        <property name="desc" value="Geronimo Transaction Manager, and possibly other too"/>
        <property name="name" value="ofbiz-geronimo"/>
        <property name="src.dir" value="src"/>
        <property name="dtd.dir" value="dtd"/>
        <property name="lib.dir" value="lib"/>
        <property name="build.dir" value="build"/>
    </target>

    <target name="classpath">
        <path id="local.class.path">
            <fileset dir="${lib.dir}" includes="*.jar"/>
            <fileset dir="../base/lib/commons" includes="*.jar"/>
            <fileset dir="../base/lib/j2eespecs" includes="*.jar"/>
            <fileset dir="../base/build/lib" includes="*.jar"/>
            <fileset dir="../entity/lib" includes="*.jar"/>
            <fileset dir="../entity/build/lib" includes="*.jar"/>
        </path>
    </target>

    <!-- ================================================================== -->
    <!-- Removes all created files and directories                          -->
    <!-- ================================================================== -->

    <target name="clean" depends="clean-lib">
        <delete dir="${build.dir}"/>
    </target>

    <target name="clean-lib" depends="init">
        <delete dir="${build.dir}/lib"/>
    </target>

    <!-- ================================================================== -->
    <!-- Makes sure the needed directory structure is in place              -->
    <!-- ================================================================== -->

    <target name="prepare" depends="clean-lib">
        <mkdir dir="${build.dir}/classes"/>
        <mkdir dir="${build.dir}/lib"/>
    </target>

    <target name="prepare-docs" depends="init">
        <mkdir dir="${build.dir}/javadocs"/>
    </target>

    <!-- ================================================================== -->
    <!-- Compilation of the source files                                                                                                                         -->
    <!-- ================================================================== -->

    <target name="classes" depends="prepare,classpath">
        <javac debug="on" source="1.4" deprecation="on" destdir="${build.dir}/classes">
            <classpath>
                <path refid="local.class.path"/>
            </classpath>
            <src path="${src.dir}"/>
        </javac>
        <!-- also put the DTDs in the jar file... -->
        <copy todir="${build.dir}/classes">
            <!--<fileset dir="${dtd.dir}" includes="*.dtd"/>-->
            <fileset dir="${src.dir}" includes="**/*.properties,**/*.xml,**/*.bsh,**/*.logic,**/*.js,**/*.jacl,**/*.py"/>
        </copy>
    </target>

    <target name="jar" depends="classes">
        <jar jarfile="${build.dir}/lib/${name}.jar" basedir="${build.dir}/classes"/>
    </target>

    <!-- ================================================================== -->
    <!-- Build JavaDoc                                                      -->
    <!-- ================================================================== -->

    <target name="docs" depends="prepare-docs,classpath">
        <javadoc packagenames="org.ofbiz.geronimo.*"
                 classpathref="local.class.path"
                 destdir="${build.dir}/javadocs"
                 Windowtitle="${desc}">
            <sourcepath path="${src.dir}"/>
        </javadoc>
    </target>

    <target name="all" depends="jar,docs"/>
</project>
