<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="routerconsole">
    <target name="all" depends="clean, build" />
    <target name="build" depends="builddep, jar" />
    <target name="builddep">
        <ant dir="../../../router/java/" target="build" />
	<!-- router will build core -->
    </target>
    <target name="prepare">
        <ant dir="../../jetty/" target="build" />
    </target>
    <target name="compile" depends="prepare">
        <mkdir dir="./build" />
        <mkdir dir="./build/obj" />
        <javac 
            srcdir="./src" 
            debug="true" deprecation="on" source="1.3" target="1.3" 
            destdir="./build/obj" 
            classpath="../../../core/java/build/i2p.jar:../../../router/java/build/router.jar:../../jetty/jettylib/org.mortbay.jetty-jdk1.2.jar" />
    </target>
    <target name="jar" depends="compile">
        <jar destfile="./build/routerconsole.jar" basedir="./build/obj" includes="**/*.class">
            <manifest>
                <attribute name="Class-Path" value="i2p.jar router.jar" />
            </manifest>
        </jar>
        <ant target="war" />
    </target>
    <target name="war" depends="precompilejsp">
        <war destfile="build/routerconsole.war" webxml="../jsp/web-out.xml"
             basedir="../jsp/" excludes="web.xml, *.java, *.jsp, web-fragment.xml">
        </war>
    </target>
    <target name="precompilejsp">
        <delete dir="../jsp/WEB-INF/" />
        <delete dir="../jsp/web-fragment.xml" />
        <delete dir="../jsp/web-out.xml" />
        <mkdir dir="../jsp/WEB-INF/" />
        <mkdir dir="../jsp/WEB-INF/classes" />
        <!-- there are various jspc ant tasks, but they all seem a bit flakey -->
        <java classname="org.apache.jasper.JspC" fork="true" >
            <classpath>
                <pathelement location="../../jetty/jettylib/jasper-compiler.jar" />
                <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
                <pathelement location="../../jetty/jettylib/ant.jar" />
                <pathelement location="build/routerconsole.jar" />
            </classpath>
            <arg value="-d" />
            <arg value="../jsp/WEB-INF/classes" />
            <arg value="-v9" />
            <arg value="-p" />
            <arg value="net.i2p.router.web.jsp" />
            <arg value="-webinc" />
            <arg value="../jsp/web-fragment.xml" />
            <arg value="-webapp" />
            <arg value="../jsp/" />
        </java>
        <javac destdir="../jsp/WEB-INF/classes/" srcdir="../jsp/WEB-INF/classes" includes="*.java">
            <classpath>
                <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
                <pathelement location="build/routerconsole.jar" />
            </classpath>
        </javac>
        <copy file="../jsp/web.xml" tofile="../jsp/web-out.xml" />
        <loadfile property="jspc.web.fragment" srcfile="../jsp/web-fragment.xml" />
        <replace file="../jsp/web-out.xml">
            <replacefilter token="&lt;!-- precompiled servlets --&gt;" value="${jspc.web.fragment}" />
        </replace>
    </target>
    <target name="javadoc">
        <mkdir dir="./build" />
        <mkdir dir="./build/javadoc" />
        <javadoc 
            sourcepath="./src:../../../core/java/src:../../router/java/src" destdir="./build/javadoc" 
            packagenames="*" 
            use="true" 
            splitindex="true" 
            windowtitle="Router Console" />
    </target>
    <target name="clean">
        <delete dir="./build" />
    </target>
    <target name="cleandep" depends="clean">
	<!-- router will clean core -->
        <ant dir="../../../router/java/" target="distclean" />
    </target>
    <target name="distclean" depends="clean">
	<!-- router will clean core -->
        <ant dir="../../../router/java/" target="distclean" />
    </target>
</project>