<?xml version="1.0"?>
<!--/*******************************************************************************
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
*   Ant naming conventions:
*   - regardless of the actual OS platform,'/' is the directory separator
*     (Ant will convert as appropriate).
*   - multi-word properties use periods '.'
*     - properties ending in .jar define jarfile names only (no path)
*     - properties ending in .lib are fully qualified jars (path and filename)
*     - properties ending in .dir are directory paths
*     - properties ending in .path are path refid names (classpath fragments)
*   - multi-word targets use hyphens '-'
*     - targets beginning with test- are reserved for high level test targets,
*       and are used in test results parsing
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
*   - multi-word macros use underscores '_'
*   - multi-word macro attributes are concatenated
*     e.g. 'runpathref'
*   - multi-word tasks (taskdef) names are concatenated
*     e.g. 'validateconnection'
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
*     e.g. ${env.XXX}.
*   - Ant properties are lower case.
*
* Contributors:
*     egwin - initial API and implementation
#******************************************************************************/-->
<project name="org.eclipse.persistence.antlr" default="build">
    <available file="../${ant.project.name}" type="dir" property="antlr.is.local"/>
    <!-- Test to make sure that the calling script doesn't inherit the variable -->
    <!-- (should be set locally, and be destroyed upon return) -->
    <fail message="Not running from '${ant.project.name}' directory" unless="antlr.is.local"/>

    <!-- Primary Targets -->
    <target name="build" depends="clean, package" description="package ${ant.project.name}"/>
    <target name="bld"   depends="clean, compile, package" description="build ${ant.project.name} component"/>

    <!-- clean -->
    <target name="clean" depends="init" description="Clean the build">
        <delete includeEmptyDirs="true" failonerror="false">
            <fileset dir="${antlr.2.common.plugins.dir}" includes="${ant.project.name}_*.jar, ${ant.project.name}.source_*.jar"/>
        </delete>
    </target>

    <!-- initialize varables and paths needed for other targets -->
    <!-- the number of properties needed now is too great for lazy loading without a target -->
    <target name="init">
        <dirname  property="antlr.build.location_temp" file="${ant.file.org.eclipse.persistence.antlr}"/>
        <pathconvert targetos="unix" property="antlr.build.location">
            <path>
                <pathelement location="${antlr.build.location_temp}"/>
            </path>
        </pathconvert>
        <property name="antlr.2.base.dir" value="../.."/>
        <property name="antlr.2.common.plugins.dir" value=".."/>

        <!-- Properties usually defined in build.properties, set here to avoid easy redefinition. -->
        <!-- Version properties -->
        <property name="release.version"               value="3.2.0"/>
        <!-- Project infrastructure properties -->
        <property name="src.dir"                       value="src"/>
        <property name="antlr.classes.dir"             value="${antlr.build.location}"/> <!-- "." -->

        <!-- local property overrides -->
        <condition property="custom.properties.message" value="Loading ${user.home}/build.properties..."
                                                         else="Custom properties file '${user.home}/build.properties' not found to load.">
            <available file="${user.home}/build.properties"/>
        </condition>
        <echo message="${custom.properties.message}"/>
        <property file="${user.home}/build.properties"/>
    </target>

    <!-- initialize varables and paths needed for compile -->
    <target name="compile-init" depends="init">
        <!-- This HAS to be defined after allowing user redefinitions (which will cause the condition not to set anything) -->
        <!-- This tests to make sure the extensions dir exists, if not sets to a existant dummy location -->
        <condition property="extensions.depend.dir" value="${antlr.2.base.dir}/../extension.lib.external"
                                                    else="${antlr.build.location}">
            <available file="${antlr.2.base.dir}/../extension.lib.external" type="dir"/>
        </condition>
        <echo message="extensions.depend.dir        = '${extensions.depend.dir}'"/>
    </target>

    <target name="package-init" depends="init">
        <!-- versioning -->
        <!-- These variables  are set in autobuild.xml. A manual build gets defaults -->
        <tstamp>
           <format property="build.date" pattern="yyyyMMdd"/>
           <format property="build.time" pattern="HHmm"/>
        </tstamp>
        <property name="build.type"            value="SNAPSHOT"/>
        <property name="svn.revision"          value="NA"/>
        <property name="version.qualifier"     value="v201302191141"/>
        <property name="version.string"        value="${release.version}.${version.qualifier}"/>
        <property name="release.designation"   value="EclipseLink ${release.version} Build"/>
        <property name="specification.vendor"  value="Eclipse.org - EclipseLink Project"/>
        <property name="implementation.vendor" value="${specification.vendor}"/>
    </target>

    <!-- compile -->
    <target name="pre-compile" depends="compile-init" description="Compile bundle code">
        <condition property="antlr3.lib" value="${extensions.depend.dir}/antlr-3.3-complete.jar">
            <available file="${extensions.depend.dir}/antlr-3.3-complete.jar"/>
        </condition>
    </target>

    <target name="compile" if="antlr3.lib" depends="pre-compile" description="Compile bundle code">
        <!-- Set Compile Path-->
        <path id="antlr.compile.path">
            <pathelement path="${antlr3.lib}"/>
            <pathelement path="${antlr.2.common.plugins.dir}/osgi.core.zip"/>
            <pathelement path="${antlr.2.common.plugins.dir}/osgi.cmpn_4.1.0.jar"/>
        </path>

        <!-- remove stored classes for recompile -->
        <delete dir="${antlr.build.location}/org" includeEmptyDirs="true" failonerror="false" quiet="true"/>
        <property name="javac.version" value="1.6"/>
        <javac srcdir="${src.dir}"
               destdir="${antlr.classes.dir}"
               includes="org/eclipse/persistence/**/*.java"
               debug="${javac.debug}"
               debuglevel="${javac.debuglevel}"
               encoding="UTF-8"
               optimize="${javac.optimize}"
               source="${javac.version}"
               target="${javac.version}"
               deprecation="${javac.deprecation}"
               failonerror="true"
               memoryMaximumSize="512m"
               fork="true"
               classpathref="antlr.compile.path"
        />
    </target>

    <!-- package -->
    <target name="package" depends="package-init" description="jar OSGI bundle">
        <jar jarfile="${antlr.2.common.plugins.dir}/${ant.project.name}_${version.string}.jar" manifest="META-INF/MANIFEST.MF">
            <fileset dir="${antlr.2.base.dir}">
                <include name="license.*"/>
            </fileset>
            <fileset dir="${antlr.build.location}">
                <include name="about.html"/>
                <include name="readme.html"/>
            </fileset>
            <fileset dir="${antlr.classes.dir}">
                <include name="org/eclipse/persistence/**/*.class"/>
            </fileset>
        </jar>
        <jar jarfile="${antlr.2.common.plugins.dir}/${ant.project.name}.source_${version.string}.jar">
             <manifest>
                <attribute name="Specification-Vendor"   value="${specification.vendor}"/>
                <attribute name="Specification-Version"  value="${release.version}"/>
                <attribute name="Implementation-Vendor"  value="${implementation.vendor}"/>
                <attribute name="Implementation-Version" value="${version.string}"/>
                <attribute name="Bundle-ManifestVersion" value="2"/>
                <attribute name="Bundle-Name"            value="EclipseLink ANTLR Source"/>
                <attribute name="Bundle-SymbolicName"    value="${ant.project.name}.source"/>
                <attribute name="Bundle-Vendor"          value="${implementation.vendor}"/>
                <attribute name="Bundle-Version"         value="${version.string}"/>
                <attribute name="Eclipse-SourceBundle"   value="${ant.project.name};version=&quot;${version.string}&quot;"/>
            </manifest>
            <fileset dir="${antlr.2.base.dir}">
                <include name="license.*"/>
            </fileset>
            <fileset dir="${antlr.build.location}">
                <include name="about.html"/>
                <include name="readme.html"/>
            </fileset>
            <fileset dir="${src.dir}">
                <include name="org/eclipse/persistence/**/*.java"/>
            </fileset>
        </jar>
    </target>
</project>