<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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="OFBiz - Start" default="jar" basedir=".">
    <import file="../../common.xml"/>

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

    <property name="name" value="ofbiz-base"/>
    
    <!-- ================================================================== -->
    <!-- Makes sure the needed directory structure is in place              -->
    <!-- ================================================================== -->

    <target name="prepare" depends="clean-lib">
        <mkdir dir="${build.dir}/classes/META-INF"/>        
        <mkdir dir="${build.dir}/lib"/>
    </target>
    
    <!-- ================================================================== -->
    <!-- Compilation of the source files                                    -->
    <!-- ================================================================== -->               

    <target name="classes" depends="prepare">
        <!-- compile start -->
	<javac15 destdir="${build.dir}/classes" srcdir="${src.dir}"/>
    </target>
    
    <target name="jar" depends="classes">
        <jar jarfile="${build.dir}/lib/ofbiz.jar" manifest="${src.dir}/org/ofbiz/base/start/Start.mf">
            <fileset dir="${build.dir}/classes"/>
            <fileset dir="${src.dir}">
                <include name="**/*.properties"/>
                <include name="META-INF/**"/>
            </fileset>
            <!-- now add the NOTICE and LICENSE files to allow the jar file to be distributed alone -->
            <zipfileset dir="${ofbiz.home.dir}" prefix="META-INF" includes="NOTICE,LICENSE"/>
        </jar>
        <!-- copy the ofbiz.jar file -->
        <copy todir="${basedir}/../..">
            <fileset dir="${build.dir}/lib" includes="ofbiz.jar"/>
        </copy>
    </target>    
    
    <!-- ================================================================== -->
    <!-- Build JavaDoc                                                      -->
    <!-- ================================================================== -->

    <target name="docs" depends="prepare-docs">
        <javadoc packagenames="org.ofbiz.base.*" 
                 classpathref="local.class.path"
                 destdir="${build.dir}/javadocs" 
                 Windowtitle="Open for Business - Start API">
            <sourcepath path="${src.dir}"/>
        </javadoc>
    </target>
</project>
