<project name="Antlr3JavaScriptRuntime" basedir=".." default="build">
<description>
Build procedure and task automation for the ANTLR JavaScript target.
</description>

    <property name="build.dir" value="${basedir}/build" />
    <property name="out.dir" value="${build.dir}/out" />
    <property name="lib.dir" value="${basedir}/lib" />
    <property name="doc.dir" value="${basedir}/doc" />
    <property name="test.dir" value="${basedir}/tests" />
    <property name="src.dir" value="${basedir}/src" />
    <property name="third.dir" value="${basedir}/third" />
    <property file="${build.dir}/antlr3.properties" />

    <taskdef file="${third.dir}/antcontrib.properties" classpath="${third.dir}/ant-contrib-1.0b3.jar" />

    <!-- ******* -->
    <!-- LIBRARY -->
    <!-- ******* -->

    <target name="build" depends="-init" description="Build ANTLR JavaScript runtime library.">
        <antcall target="-make-debug" />
        <antcall target="-make-min" />
        <!--<antcall target="-make-docs" />-->
        <antcall target="-del-build" />
    </target>

    <!-- Make uncompressed JS runtime files -->
    <target name="-make-debug">
        <!-- no file name suffix for debug files -->
        <property name="debugormin" value="" />
        <antcall target="-make-packages" inheritall="true" />
    </target>

    <!-- Make compressed JS files -->
    <target name="-make-min">
        <property name="debugormin" value="-min" />
        <antcall target="-make-packages" inheritall="true" />
    </target>

    <!-- Make each package defined in atlr3.list -->
    <target name="-make-packages">
        <property name="pkg" value="" />
        <foreach list="${antlr3.list}" target="-make-package" param="pkg" inheritall="true" />
    </target>

    <!-- Create a package -->
    <target name="-make-package">
        <var name="package" value="${pkg}" />
        <property name="dest" value="${lib.dir}/antlr3-${package}${debugormin}.js" />
        <propertycopy property="list" from="antlr3.${package}.list" override="true" />
        <propertyregex property="list" input="${list}" regexp=" +" replace="" override="true" />

        <concat destfile="${dest}">
            <filelist dir="${src.dir}" files="${list}" />
        </concat>

        <if>
            <equals arg1="${debugormin}" arg2="-min" />
            <then>
                <antcall target="-compress" inheritall="true" />
            </then>
        </if>

        <antcall target="-add-license" inheritall="true" />
    </target>

    <!-- Compress JavaScript using Closure Compiler -->
    <target name="-compress">
        <java fork="true" jar="${third.dir}/compiler.jar">
            <arg line="--js" />
            <arg value="${dest}" />
            <arg line="--js_output_file" />
            <arg line="${dest}.tmp" />
        </java>
        <move file="${dest}.tmp" tofile="${dest}" />
    </target>

    <!-- insert required legaleze at the top of a file -->
    <target name="-add-license">
        <property name="tmp-file" value="${dest}.tmp" />
        <move file="${dest}" tofile="${tmp-file}" />
        <concat destfile="${dest}">
            <header file="${build.dir}/${antlr3.license}" />
            <fileset file="${tmp-file}" />
        </concat>
        <delete file="${tmp-file}" />
    </target>

    <!-- delete build directory -->
    <target name="-del-build">
        <delete dir="${out.dir}" />
    </target>

    <!-- ***** -->
    <!-- TESTS -->
    <!-- ***** -->

    <target name="compile-tests" depends="build" description="Compile all test grammars.">
        <foreach target="-compile-test-class" param="testdirectory" inheritall="true">
            <path>
                <dirset dir="${test.dir}" includes="*" excludes="README" />
            </path>
        </foreach>
    </target>

    <target name="-compile-test-class" >
        <foreach target="-compile-single-test" param="grammar" inheritall="true">
            <path>
                <fileset dir="${testdirectory}" includes="*.g" excludes="*__.g" />
            </path>
        </foreach>
    </target>

    <target name="-compile-single-test">
        <!-- turn on antlr tracing if necessary -->
        <var name="g" value="${grammar}" />
        <loadfile property="g-contents" srcfile="${g}" />
        <var name="opt" value="" />
        <property name="trace-key" value="// @@ANTLR Tool Options@@: -trace" />
        <if>
            <contains string="${g-contents}" substring="${trace-key}" />
            <then>
                <var name="opt" value="-trace" />
            </then>
        </if>

        <java dir="${testdirectory}" jar="${antlr3.tool}" fork="yes">
            <arg line="${opt}" />
            <arg line="${g}" />
        </java>
    </target>

    <!-- **** -->
    <!-- DOCS -->
    <!-- **** -->

    <target name="make-docs" description="Generate jsdoc API documentation." depends="-init">
        <property name="jsdoc.dir" value="${third.dir}/jsdoc-toolkit" />
        <property name="docs.dir" value="${lib.dir}/docs" />

        <mkdir dir="${docs.dir}" />
        <java jar="${jsdoc.dir}/jsrun.jar" fork="yes">
            <arg line="${jsdoc.dir}/app/run.js ${src.dir} -r=10 -t=${jsdoc.dir}/templates/jsdoc -d=${docs.dir}" />
        </java>
    </target>

    <target name="-init">
        <!-- clear build dir -->
        <delete dir="${out.dir}" quiet="true" />
        <mkdir dir="${out.dir}" />
    </target>
</project>
