<!--
 * 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="build" default="build" basedir=".">

    <!-- ============================================================
         set properties
         ============================================================ -->

    <property file="personal.properties" />
    <property file="build.properties" />
    <property file="vendor.properties" />

    <!-- hint: override in your personal.properties -->
    <property name="BUILDER" value="The Unknown Builder"/>

    <basename property="ant.file.basename" file="${ant.file}"/>

    <available property="VENDOR_FOUND"   file="${VENDOR}"/>

    <tstamp>
        <format property="TSTAMP_STARTED" pattern="HH:mm:ss"/>
    </tstamp>

    <tstamp>
        <format property="BUILD_NUMBER_DATE" pattern="yyyy-MM-dd--HH-mm-ss" timezone="GMT"/>
    </tstamp>

    <property name="BUILD_NUMBER" value="${WEINRE_VERSION}build-${BUILD_NUMBER_DATE}"/>


    <!-- ============================================================
         main entry point
         ============================================================ -->

    <target name="build" depends="build-dev">
        <antcall target="build-jar"/>
        <antcall target="build-ui-jar"/>
        <antcall target="build-application-mac"/>
        <antcall target="build-archives"/>

        <echo>full ant build completed successfully</echo>
    </target>

    <!-- ============================================================
         clean
         ============================================================ -->

    <target name="clean">
        <delete dir="${OUT}"/>
        <mkdir  dir="${OUT}"/> <!-- this is an Eclipse source folder! -->

        <delete dir="${TMP}"/>
        <delete dir="${CACHED}"/>
        <delete dir="${VENDOR}"/>
        <delete dir="node_modules"/>
    </target>

    <!-- ============================================================
         development-time build
         ============================================================ -->

    <target name="build-dev">
        <delete dir="${OUT}"/>
        <mkdir  dir="${OUT}"/>

        <property
            name  = "build-info-text"
            value = "weinre build ${BUILD_NUMBER} by ${BUILDER}"
        />

        <echo file="${OUT}/build-info.txt" message="${build-info-text}"/>

        <antcall target="build-vendor"/>
        <antcall target="compile-java"/>
        <antcall target="build-web"/>
        <antcall target="build-doc"/>
        <antcall target="build-json-idl"/>
        <antcall target="build-client"/>
        <antcall target="build-target"/>

        <tstamp>
            <format property="TSTAMP_FINISHED" pattern="HH:mm:ss"/>
        </tstamp>

        <property name="MESSAGE_FINISHED" value="at ${TSTAMP_FINISHED} for ${ant.file}:build-dev"/>

        <antcall target="finished"/>
        <antcall target="finished-growl"/>
    </target>

    <!-- ============================================================
         compile java code
         ============================================================ -->

    <target name="compile-java" unless="USE_ECLIPSE">
        <delete dir="../${PROJECT_SERVER}/bin"/>
        <mkdir  dir="../${PROJECT_SERVER}/bin"/>

        <javac
            srcdir            = "../${PROJECT_SERVER}/src"
            destdir           = "../${PROJECT_SERVER}/bin"
            debug             = "true"
            verbose           = "false"
            includeAntRuntime = "false"
        >
            <classpath path="../${PROJECT_BUILD}/vendor/cli/commons-cli.jar"/>
            <classpath path="../${PROJECT_BUILD}/vendor/jetty/jetty.jar"/>
            <classpath path="../${PROJECT_BUILD}/vendor/json4j/json4j.jar"/>
            <classpath path="../${PROJECT_BUILD}/vendor/jetty/servlet-api.jar"/>
            <compilerarg value="-Xlint"/>
        </javac>

        <delete dir="../${PROJECT_APPLICATION}/bin"/>
        <mkdir  dir="../${PROJECT_APPLICATION}/bin"/>

        <javac
            srcdir            = "../${PROJECT_APPLICATION}/src"
            destdir           = "../${PROJECT_APPLICATION}/bin"
            debug             = "true"
            verbose           = "false"
            includeAntRuntime = "false"
        >
            <classpath path="../${PROJECT_SERVER}/bin"/>
            <classpath path="../${PROJECT_BUILD}/vendor/json4j/json4j.jar"/>
            <classpath path="../${PROJECT_BUILD}/vendor/swt/cocoa-macosx-x86_64/swt.jar"/>
            <compilerarg value="-Xlint"/>
        </javac>

    </target>

    <!-- ============================================================
         build vendor libs
         ============================================================ -->

    <target name="build-vendor" unless="VENDOR_FOUND">
        <ant antfile="get-vendor.xml"/>
    </target>

    <!-- ============================================================
         basic web resources
         ============================================================ -->

    <target name="build-web">
        <delete dir="${WEB}" />
        <mkdir  dir="${WEB}" />

        <delete dir="${TMP}" />
        <mkdir  dir="${TMP}" />

        <echo message="compiling CoffeeScript modules"/>
        <mkdir  dir="${TMP}/modules/weinre/client" />
        <mkdir  dir="${TMP}/modules/weinre/common" />
        <mkdir  dir="${TMP}/modules/weinre/target" />

        <echo message="compiling CoffeeScript files in: ${PROJECT_WEB}/modules/weinre/client"/>
        <exec executable="sh" failonerror="true" failifexecutionfails="true">
            <arg value="-c"/>
            <arg value="node_modules/.bin/coffee --compile --bare --output ${TMP}/modules/weinre/client ../${PROJECT_WEB}/modules/weinre/client/*.coffee"/>
        </exec>

        <echo message="compiling CoffeeScript files in: ${PROJECT_WEB}/modules/weinre/common"/>
        <exec executable="sh" failonerror="true" failifexecutionfails="true">
            <arg value="-c"/>
            <arg value="node_modules/.bin/coffee --compile --bare --output ${TMP}/modules/weinre/common ../${PROJECT_WEB}/modules/weinre/common/*.coffee"/>
        </exec>

        <echo message="compiling CoffeeScript files in: ${PROJECT_WEB}/modules/weinre/target"/>
        <exec executable="sh" failonerror="true" failifexecutionfails="true">
            <arg value="-c"/>
            <arg value="node_modules/.bin/coffee --compile --bare --output ${TMP}/modules/weinre/target ../${PROJECT_WEB}/modules/weinre/target/*.coffee"/>
        </exec>

        <echo message="transportd-izing modules"/>
        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg  file="vendor/modjewel/module2transportd.py"/>
            <arg value="--quiet"/>
            <arg value="--out"/>
            <arg  file="${WEB}"/>
            <arg  file="${TMP}/modules"/>
        </exec>

        <copy todir="${WEB}">
            <fileset file="${VENDOR}/modjewel/modjewel-require.js"/>
        </copy>

        <copy todir="${WEB}">
            <fileset file="${VENDOR}/json2/json2.js"/>
        </copy>

        <copy todir="${WEB}">
            <fileset dir="../${PROJECT_WEB}">
                <exclude name="versions.js"/>
                <exclude name="common/**/*"/>
                <exclude name="bin/**/*"/>
                <include name="**/*.js"/>
                <include name="**/*.css"/>
                <include name="**/*.html"/>
                <include name="**/*.png"/>
            </fileset>
        </copy>

        <echo message="building InjectedScript.js"/>
        <echo
            file    = "${WEB}/weinre/target/InjectedScript.js"
            message = "var injectedScriptConstructor = ${line.separator}"
        />
        <concat
            destfile = "${WEB}/weinre/target/InjectedScript.js"
            append   = "true"
        >
            <fileset file="${VENDOR}/webkit/WebCore/inspector/InjectedScriptSource.js"/>
        </concat>

        <echo message="building versions.js"/>
        <copy todir="${WEB}">
            <fileset dir="../${PROJECT_WEB}">
                <include name="versions.js"/>
            </fileset>

            <filterset>
                <filter token="WEINRE_VERSION"             value="${WEINRE_VERSION}"/>
                <filter token="BUILD_NUMBER"               value="${BUILD_NUMBER}"/>
                <filter token="BUILD_NUMBER_DATE"          value="${BUILD_NUMBER_DATE}"/>
                <filter token="CLI_VERSION"                value="${CLI_VERSION}"/>
                <filter token="JSON4J_VERSION"             value="${JSON4J_VERSION}"/>
                <filter token="JSON2_VERSION"              value="${JSON2_VERSION}"/>
                <filter token="WEBKIT_VERSION"             value="${WEBKIT_VERSION}"/>
                <filter token="SWT_VERSION"                value="${SWT_VERSION}"/>
                <filter token="JETTY_VERSION"              value="${JETTY_VERSION}"/>
                <filter token="MODJEWEL_VERSION"           value="${MODJEWEL_VERSION}"/>
                <filter token="JAVAX_SERVLET_VERSION"      value="${JAVAX_SERVLET_VERSION}"/>
                <filter token="JAVAX_SERVLET_VERSION_IMPL" value="${JAVAX_SERVLET_VERSION_IMPL}"/>
            </filterset>
        </copy>

<!--
        <echo message="building add-css-properties.js"/>
        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg  file="scripts/build-css-properties.py"/>
            <arg value="vendor/webkit/WebCore/CSSPropertyNames.in"/>
            <arg value="${WEB}/add-css-properties.js"/>
        </exec>
-->

    </target>

    <!-- ============================================================
         documentation
         ============================================================ -->

    <target name="build-doc">

        <mkdir  dir="${WEB}/doc" />

        <copy todir="${WEB}/doc" file="${OUT}/build-info.txt"/>

        <build-html name="Building"      title="Building"       oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="Home"          title="Home"           oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="Installing"    title="Installing"     oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="License"       title="License"        oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="Running"       title="Running"        oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="MultiUser"     title="Muli-User"      oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="Security"      title="Security"       oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="UserInterface" title="User Interface" oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>
        <build-html name="ChangeLog"     title="ChangeLog"      oDir="${WEB}/doc" iDir="../${PROJECT_DOC}"/>

        <copy file="${WEB}/doc/Home.html" tofile="${WEB}/doc/index.html"/>

        <copy todir="${WEB}/doc/images" file="../${PROJECT_WEB}/images/weinre-icon-64x64.png"/>

        <copy todir="${WEB}/doc/css">     <fileset dir="../${PROJECT_DOC}/css"/>     </copy>
        <copy todir="${WEB}/doc/images">  <fileset dir="../${PROJECT_DOC}/images"/>  </copy>
        <copy todir="${WEB}/doc/scripts"> <fileset dir="../${PROJECT_DOC}/scripts"/> </copy>

    </target>

    <!-- ============================================================
         convert IDL to JSON (cached)
         ============================================================ -->

    <target name="build-json-idl">
        <uptodate property="JSON_IDL_UPTODATE" targetfile="${CACHED}/json-idl/all-json-idls.js">
            <srcfiles dir="../${PROJECT_SERVER}/interfaces"    includes="*.idl"/>
            <srcfiles dir="${VENDOR}/webkit/WebCore/inspector" includes="*.idl"/>
        </uptodate>

        <antcall target="build-json-idl-fresh"/>

        <copy todir="${WEB}/interfaces"> <fileset dir="${CACHED}/json-idl"/></copy>
    </target>

    <!-- ============================================================
         convert IDL to JSON (slow part)
         ============================================================ -->

    <target name="build-json-idl-fresh" unless="JSON_IDL_UPTODATE">

        <delete dir="${CACHED}/json-idl"/>
        <mkdir  dir="${CACHED}/json-idl"/>

        <simple-idl2json name="WeinreClientCommands"      oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>
        <simple-idl2json name="WeinreClientEvents"        oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>
        <simple-idl2json name="WeinreTargetCommands"      oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>
        <simple-idl2json name="WeinreTargetEvents"        oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>
        <simple-idl2json name="WeinreExtraClientCommands" oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>
        <simple-idl2json name="WeinreExtraTargetEvents"   oDir="${CACHED}/json-idl" iDir="../${PROJECT_SERVER}/interfaces"/>

        <simple-idl2json name="InjectedScriptHost"    oDir="${CACHED}/json-idl" iDir="${VENDOR}/webkit/WebCore/inspector"/>

        <simple-idl2json name="Inspector"             oDir="${CACHED}/json-idl" iDir="${VENDOR}/webkit/WebCore/inspector">
            <arg value="--anyType"/>
            <arg value="Value"/>
        </simple-idl2json>

        <simple-idl2json name="InspectorFrontendHost" oDir="${CACHED}/json-idl" iDir="${VENDOR}/webkit/WebCore/inspector">
            <arg value="--anyType"/>
            <arg value="MouseEvent"/>
        </simple-idl2json>

        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg file="scripts/collect-all-json-idl.py"/>
            <arg file="${CACHED}/json-idl/all-json-idls.js"/>
            <arg file="${CACHED}/json-idl"/>
        </exec>

        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg file="scripts/collect-all-json-idl.py"/>
            <arg value="-min"/>
            <arg file="${CACHED}/json-idl/all-json-idls-min.js"/>
            <arg file="${CACHED}/json-idl"/>
        </exec>

    </target>

    <!-- ============================================================
         build the web/target files
         ============================================================ -->

    <target name="build-target">

        <mkdir dir="${WEB}/target"/>

        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg file="scripts/build-target-scripts.py"/>
            <arg file="${WEB}"/>
            <arg file="${WEB}/target"/>
        </exec>

    </target>

    <!-- ============================================================
         build the web/client files
         ============================================================ -->

    <target name="build-client">

        <copy todir="${WEB}/client/nls/English.lproj">
            <fileset file="${VENDOR}/webkit/WebCore/English.lproj/localizedStrings.js"/>
        </copy>

        <copy todir="${WEB}/client">
            <fileset dir="${VENDOR}/webkit/WebCore/inspector/front-end"/>
        </copy>

        <exec executable="python" failonerror="true" failifexecutionfails="true">
            <arg file="scripts/build-client-html.py"/>
            <arg file="${WEB}"/>
        </exec>

    </target>

    <!-- ============================================================
         build the main jar
         ============================================================ -->

    <target name="build-jar">

        <jar destfile="${OUT}/weinre.jar">
            <manifest>
                <attribute name="Built-By" value="${ant.file.basename} - ${ant.project.name}"/>
                <attribute name="Main-Class" value="weinre.server.Main"/>
            </manifest>

            <fileset file="${OUT}/build-info.txt"/>

            <zipfileset src="${VENDOR}/jetty/jetty.jar">
                <exclude name="about*.html"/>
                <exclude name="META-INF/**/*"/>
            </zipfileset>

            <zipfileset src="${VENDOR}/jetty/servlet-api.jar">
                <exclude name="META-INF/**/*"/>
            </zipfileset>

            <zipfileset src="${VENDOR}/cli/commons-cli.jar">
                <exclude name="META-INF/**/*"/>
            </zipfileset>

            <zipfileset src="${VENDOR}/json4j/json4j.jar">
                <exclude name="META-INF/**/*"/>
            </zipfileset>

            <fileset dir="../${PROJECT_SERVER}/bin"/>

            <zipfileset dir="${WEB}" prefix="web"/>
        </jar>

    </target>

    <!-- ============================================================
         build the ui jar
         ============================================================ -->

    <target name="build-ui-jar">

        <fileset dir="../${PROJECT_APPLICATION}/bin"/>

        <jar destfile="${OUT}/weinre-ui.jar">
            <manifest>
                <attribute name="Built-By" value="${ant.file.basename} - ${ant.project.name}"/>
                <attribute name="Main-Class" value="weinre.application.GUIMain"/>
            </manifest>

            <fileset file="${OUT}/build-info.txt"/>

            <fileset dir="../${PROJECT_APPLICATION}/bin"/>

            <zipfileset src="${VENDOR}/swt/cocoa-macosx-x86_64/swt.jar">
                <exclude name="META-INF/**/*"/>
            </zipfileset>
        </jar>

    </target>

    <!-- ============================================================
         build the mac application
         ============================================================ -->

    <target name="build-application-mac">
        <delete dir="${OUT}/applications/mac"/>
        <mkdir  dir="${OUT}/applications/mac/weinre.app"/>

        <copy todir="${OUT}/applications/mac/weinre.app">
            <fileset dir="../${PROJECT_APPLICATION}/resources/macosx/weinre.app">
                <exclude name="**/Info.plist"/>
            </fileset>
        </copy>

        <copy todir="${OUT}/applications/mac/weinre.app">
            <fileset dir="../${PROJECT_APPLICATION}/resources/macosx/weinre.app">
                <include name="**/Info.plist"/>
            </fileset>
            <filterset>
                <filter token="VERSION" value="${WEINRE_VERSION}"/>
            </filterset>
        </copy>

        <chmod file="${OUT}/applications/mac/weinre.app/Contents/MacOS/launcher" perm="+x"/>
        <copy todir="${OUT}/applications/mac/weinre.app/Contents/MacOS" file="${OUT}/weinre.jar" />
        <copy todir="${OUT}/applications/mac/weinre.app/Contents/MacOS" file="${OUT}/weinre-ui.jar"/>
        <copy todir="${OUT}/applications/mac/weinre.app/Contents/Resources" file="${OUT}/build-info.txt"/>

    </target>

    <!-- ============================================================
         build the archives
         ============================================================ -->
    <target name="build-archives">

        <!-- =================================== -->
        <delete dir="${OUT}/archives"/>
        <mkdir  dir="${OUT}/archives"/>

        <delete dir="${OUT}/files"/>

        <delete dir="${OUT}/files/weinre-jar"/>
        <mkdir  dir="${OUT}/files/weinre-jar"/>
        <copy todir="${OUT}/files/weinre-jar" file="${OUT}/build-info.txt"/>
        <copy todir="${OUT}/files/weinre-jar" file="${OUT}/weinre.jar"/>

        <!-- ant's zip task doesn't preserve permission bits -->
        <exec executable="zip" dir="${OUT}/files">
            <arg value="-q"/>
            <arg value="-r"/>
            <arg value="../archives/weinre-jar-${BUILD_NUMBER}.zip"/>
            <arg value="weinre-jar"/>
        </exec>

        <!-- =================================== -->
        <delete dir="${OUT}/files/weinre-mac"/>
        <mkdir  dir="${OUT}/files/weinre-mac"/>
        <copy todir="${OUT}/files/weinre-mac" file="${OUT}/build-info.txt" />
        <copy todir="${OUT}/files/weinre-mac">
            <fileset dir="${OUT}/applications/mac"/>
        </copy>
        <chmod file="${OUT}/files/weinre-mac/weinre.app/Contents/MacOS/launcher" perm="+x"/>

        <!-- ant's zip task doesn't preserve permission bits -->
        <exec executable="zip" dir="${OUT}/files">
            <arg value="-q"/>
            <arg value="-r"/>
            <arg value="../archives/weinre-mac-${BUILD_NUMBER}.zip"/>
            <arg value="weinre-mac"/>
        </exec>

        <!-- =================================== -->
        <delete dir="${OUT}/files/weinre-doc"/>
        <mkdir  dir="${OUT}/files/weinre-doc"/>
        <copy todir="${OUT}/files/weinre-doc" file="${OUT}/build-info.txt" />
        <copy todir="${OUT}/files/weinre-doc">
            <fileset dir="${OUT}/web/doc"/>
        </copy>

        <!-- ant's zip task doesn't preserve permission bits -->
        <exec executable="zip" dir="${OUT}/files">
            <arg value="-q"/>
            <arg value="-r"/>
            <arg value="../archives/weinre-doc-${BUILD_NUMBER}.zip"/>
            <arg value="weinre-doc"/>
        </exec>

        <!-- =================================== -->
        <delete dir="${OUT}/files/weinre-src"/>
        <mkdir  dir="${OUT}/files/weinre-src"/>
        <copy todir="${OUT}/files/weinre-src" file="${OUT}/build-info.txt" />
        <copy todir="${OUT}/files/weinre-src/weinre.application"> <fileset dir="../weinre.application" excludes="**/bin/"/></copy>
        <copy todir="${OUT}/files/weinre-src/weinre.build">       <fileset dir="../weinre.build"       excludes="**/bin/, **/out/, **/cached/, **/vendor/, **/tmp/, **/node_modules/"/></copy>
        <copy todir="${OUT}/files/weinre-src/weinre.doc">         <fileset dir="../weinre.doc"         excludes="**/bin/"/></copy>
        <copy todir="${OUT}/files/weinre-src/weinre.server">      <fileset dir="../weinre.server"      excludes="**/bin/"/></copy>
        <copy todir="${OUT}/files/weinre-src/weinre.web">         <fileset dir="../weinre.web"         excludes="**/bin/"/></copy>

        <!-- ant's zip task doesn't preserve permission bits -->
        <exec executable="zip" dir="${OUT}/files">
            <arg value="-q"/>
            <arg value="-r"/>
            <arg value="../archives/weinre-src-${BUILD_NUMBER}.zip"/>
            <arg value="weinre-src"/>
        </exec>

        <!-- =================================== -->
        <delete dir="${OUT}/files"/>

    </target>


    <!-- ============================================================
         done!
         ============================================================ -->

    <target name="finished">
        <echo>ant completed successfully ${MESSAGE_FINISHED}</echo>
    </target>

    <!-- ============================================================
         done! via growl
         ============================================================ -->

    <target name="finished-growl" if="USE_GROWL">
        <exec os="Mac OS X" executable="growlnotify">
            <arg value="-m"/>
            <arg value="${MESSAGE_FINISHED}"/>
            <arg value="ant completed successfully"/>
        </exec>
    </target>

    <!-- ============================================================
         macro to compile IDL to JSON
         ============================================================ -->

    <macrodef name="simple-idl2json">
       <attribute name="name"/>
       <attribute name="iDir"/>
       <attribute name="oDir"/>
       <element name="args" optional="true" implicit="true"/>
       <sequential>
           <exec executable="python" failonerror="true" failifexecutionfails="true">
               <arg file="scripts/simple-idl2json.py"/>
               <args/>
               <arg value="--validate"/>
               <arg file="@{iDir}/@{name}.idl"/>
               <arg file="@{oDir}/@{name}.json"/>
           </exec>
       </sequential>
    </macrodef>

    <!-- ============================================================
         macro to compile HTML
         ============================================================ -->

    <macrodef name="build-html">
       <attribute name="name"/>
       <attribute name="title"/>
       <attribute name="iDir"/>
       <attribute name="oDir"/>
       <element name="args" optional="true" implicit="true"/>
       <sequential>
           <delete file="@{oDir}/@{name}.html"/>
           <concat destfile="@{oDir}/@{name}.html">
               <filelist dir="@{iDir}" files="boilerplate-header.html.txt"/>
               <filelist dir="@{iDir}" files="@{name}.body.html"/>
               <filelist dir="@{iDir}" files="boilerplate-trailer.html.txt"/>
               <filterchain>
                  <replacetokens>
                    <token key="PAGE_NAME" value="@{title}"/>
                  </replacetokens>
                </filterchain>
           </concat>
           <echo>generated @{oDir}/@{name}.html</echo>
       </sequential>
    </macrodef>

    <!-- ============================================================ -->
</project>
