<?xml version="1.0" encoding="UTF-8"?>
<!-- Version: $Id: build.xml 495 2011-07-07 20:14:37Z chth $ -->
<project name="openseadragon" 
         default="build">

	<tstamp/>
    
    <description>
    	Build file for Zoomable User Interface HTML5 project OpenSeadragon.
    </description>

    <!-- YOU CAN OVERRIDE PROPERTIES PER YOUR NEED IN local.properties -->
    <property file="local.properties" />

    <!-- BASIC PROJECT PROPERTIES TO HELP TRACK VERSION -->
    <property file="build.properties" />

    <target name="build">
        <echo>| OpenSeadragon </echo>
        <filelist id="openseadragon.javascript" 
                  dir=".">
            <file name="src/openseadragon.js" />
            <file name="src/eventhandler.js" />
            <file name="src/mousetracker.js" />
            <file name="src/control.js" />
            <file name="src/controldock.js" />
            <file name="src/viewer.js" />
            <file name="src/navigator.js" />
            <file name="src/strings.js" />
            <file name="src/point.js" />
            <!--file name="src/profiler.js" /-->
            <file name="src/tilesource.js" />
            <file name="src/dzitilesource.js" />
            <file name="src/legacytilesource.js" />
            <file name="src/tilesourcecollection.js" />
            <file name="src/button.js" />
            <file name="src/buttongroup.js" />
            <file name="src/rectangle.js" />
            <file name="src/referencestrip.js" />
            <file name="src/displayrectangle.js" />
            <file name="src/spring.js" />
            <file name="src/tile.js" />
            <file name="src/overlay.js" />
            <file name="src/drawer.js" />
            <file name="src/viewport.js" />
        </filelist>
            
        <echo>| Building OpenSeadragon Javascript </echo>
        <concat destFile="openseadragon.js">
            <filterchain>    
                <replacetokens>
                    <token key="VERSION" value="${VERSION}"/>
                </replacetokens>
            </filterchain>
            <filelist refid="openseadragon.javascript" />
        </concat>
    </target>


    <target name='www' depends='build'>
        <echo>| Compiling OpenSeadragon Web Site </echo>
        <publish page='overlay-highlights' title='Overlay Highlights | '/>

        <publish page='tilesource-custom' title='Custom Tile Source | '/>
        <publish page='tilesource-dzi' title='DZI Tile Source | '/>
        <publish page='tilesource-iiif' title='IIIF Tile Source | '/>
        <publish page='tilesource-legacy' title='Legacy Tile Sources | '/>
        <publish page='tilesource-sequence' title='Tile Source Sequence | '/>
        <publish page='tilesource-collection' title='Tile Source Collections | '/>

        <publish page='ui-binding-custom-buttons' title='Binding Custom Buttons | '/>
        <publish page='ui-reference-strip' title='Image Reference Strip | '/>
        <publish page='ui-toolbar' title='Toolbar | '/>
        <publish page='ui-viewport-navigator' title='Viewport Navigator | '/>

        <publish page='developer-debug-mode' title='Developer Tools - Debug Mode | '/>

        <copy todir='${WWW}' file='openseadragon.js' />
    </target>

    
    <target name='doc'
        depends='build'>
        <echo>| Generating Public API Documentation </echo>
        <java jar="../jsdoc-toolkit/jsrun.jar" 
              fork="true">
            <arg value="bin/jsdoc/run.js"/>
            <arg value="openseadragon.js"/>
            <arg value="--template=bin/jsdoc/templates"/>
            <arg value="--directory=${WWW_DOCS}"/>
            <arg value="--verbose"/>
        </java>
    </target>


    <macrodef name='publish'>
        <attribute name='page'/>
        <attribute name='title'/>
        <sequential>
            <loadfile property='@{page}.html' srcfile='www/@{page}.html' />
            <mkdir dir='${WWW}/examples/@{page}'/>
            <copy file='www/base.html' 
                  tofile="${WWW}/examples/@{page}/index.html"
                  overwrite='true'>
                <filterchain>    
                    <replacetokens>
                        <token key="EXAMPLE" value='${@{page}.html}'/>
                        <token key="TITLE" value='@{title}'/>
                        <token key="VERSION" value="${VERSION}"/>
                    </replacetokens>
                </filterchain>
            </copy>
            <loadfile property='index.html' srcfile='www/index.html' />
            <copy file='www/base.html' tofile="${WWW}/index.html" overwrite='true'>
                <filterchain>    
                    <replacetokens>
                        <token key="EXAMPLE" value='${index.html}'/>
                        <token key="TITLE" value=''/>
                        <token key="VERSION" value="${VERSION}"/>
                    </replacetokens>
                </filterchain>
            </copy>
        </sequential>
    </macrodef>

</project>