<?xml version="1.0"?>

<project name="Website" default="html">

    <property file="ant.properties"/>

    <path id="lib.path">
        <pathelement location="/usr/share/java/cvslib/cvslib.jar"/>
        <pathelement location="/usr/share/mapcraft/lib/mapcraft-0.3.jar"/>
        <pathelement location="/usr/share/yagsbook/lib/yagsbook-0.5.jar"/>
        <pathelement location="/usr/share/fop/lib/fop.jar"/>
        <pathelement path="/home/sam/src/web/pagexml/build"/>
    </path>

    <target name="clean">
        <delete dir="html" quiet="true"/>
        <delete dir="tmp" quiet="true"/>
    </target>

    <!--
        Copy all support files across, including images, PDFs and archives.
     -->
    <target name="support">
        <copy todir="${target.dir}">
            <fileset dir="src">
                <include name="**/*.png"/>
                <include name="**/*.jpg"/>
                <include name="**/*.gif"/>
                <include name="**/*.pdf"/>
                <include name="**/*.html"/>
                <include name="**/*.tgz"/>
                <include name="**/*.tar"/>
                <include name="**/*.php"/>
                <include name="**/*.txt"/>
                <include name="**/*.svg"/>
                <include name="**/*.sxw"/>
                <include name="**/*.java"/>
                <include name="**/*.class"/>
                <include name="**/htaccess"/>
            </fileset>
        </copy>

        <copy todir="${target.dir}/images">
            <fileset dir="images">
                <include name="**/*.png"/>
                <include name="**/*.jpg"/>
            </fileset>
        </copy>

        <copy todir="${target.dir}/scripts">
            <fileset dir="scripts">
                <include name="**/*.js"/>
            </fileset>
        </copy>
    </target>

    <target name="html" depends="css, support">
        <xslt basedir="src" destdir="${target.dir}" extension=".html"
              classpathref="lib.path"
              includes="**/*.page"
              style="${pagexml.xsl}">

              <param name="ant-target-dir" expression="${target.dir}"/>
              <param name="ant-tmp-dir" expression="${tmp.dir}"/>
			  <param name="stylesheet1Url" expression="other.css"/>
			  <param name="stylesheet1Name" expression="Other"/>

              <param name="detailPoints" expression="false"/>
        </xslt>

        <xslt basedir="src" destdir="${target.dir}" extension=".html"
              classpathref="lib.path" includes="**/*.yags"
              style="${yagsbook.xsl}">

            <param name="ant-target-dir" expression="${target.dir}"/>
            <param name="ant-tmp-dir" expression="${tmp.dir}"/>
        </xslt>
    </target>

    <!--
        Should do exactly what html does, but without any of the
        downloading which is slow, and never changes between runs.
    -->
    <target name="dev">
        <xslt basedir="src" destdir="${target.dir}" extension=".html"
              classpathref="lib.path"
              includes="**/*.page"
              style="${pagexml.xsl}">

              <param name="ant-target-dir" expression="${target.dir}"/>
              <param name="ant-tmp-dir" expression="${tmp.dir}"/>
        </xslt>

        <xslt basedir="src" destdir="${target.dir}" extension=".html"
              classpathref="lib.path" includes="**/*.yags"
              style="${yagsbook.xsl}">

            <param name="ant-target-dir" expression="${target.dir}"/>
            <param name="ant-tmp-dir" expression="${tmp.dir}"/>
        </xslt>

    </target>

    <!-- Download CSS from yagsbook website -->
    <target name="getcss">
        <mkdir dir="css/yagsbook"/>
        <get src="${yagsbook.url}/css/yagsbook/encyclopedia.css"
              dest="css/yagsbook/encyclopedia.css"/>
    </target>

    <target name="css">
        <copy todir="${target.dir}/usr/share/css">
            <fileset dir="css">
                <include name="**/*.css"/>
            </fileset>
        </copy>

        <mkdir dir="${target.dir}/usr/share/xml/yagsbook/article/css"/>

        <get src="${css.url}/bestiary.css" dest="${css.dir}/bestiary.css"/>
        <get src="${css.url}/character.css" dest="${css.dir}/character.css"/>
        <get src="${css.url}/combat.css" dest="${css.dir}/combat.css"/>
        <get src="${css.url}/core.css" dest="${css.dir}/core.css"/>
        <get src="${css.url}/encyclopedia.css" dest="${css.dir}/encyclopedia.css"/>
        <get src="${css.url}/magic.css" dest="${css.dir}/magic.css"/>
        <get src="${css.url}/module.css" dest="${css.dir}/module.css"/>
        <get src="${css.url}/print.css" dest="${css.dir}/print.css"/>
        <get src="${css.url}/religion.css" dest="${css.dir}/religion.css"/>
        <get src="${css.url}/screen.css" dest="${css.dir}/screen.css"/>

    </target>

    <target name="pushcss" depends="css">
        <copy todir="/opt/home/www/public_html/usr">
            <fileset dir="html/usr"/>
        </copy>
    </target>


    <target name="push" depends="html">
    <!--
        <copy todir="/opt/home/www/public_html">
            <fileset dir="html"/>
        </copy>
     -->
    </target>

    <target name="pushftp">
        <taskdef name="ftp"
                 classname="org.apache.tools.ant.taskdefs.optional.net.FTP">
        </taskdef>
        <ftp server="wotan" userid="anonymous" password="anonymous"
             remotedir="htdocs">

             <fileset dir="html"/>
        </ftp>
    </target>

    <target name="install">
        <scp todir="installer@heimdall:/var/www/htdocs">
            <fileset dir="html"/>
        </scp>
    </target>

</project>
