Newer
Older
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="i2p">

jrandom
committed
<available property="jettylib.available" file="apps/jetty/jettylib" />
<target name="all" >
<echo message="Useful targets: " />
<echo message=" build: build existing code into ./build/, but dont clean" />
<echo message=" javadoc: generate javadoc for the entire project into ./build/javadoc" />
<echo message=" clean: clean up the ./build/ dir" />
<echo message=" distclean: clean up all derived files" />

jrandom
committed
<echo message=" dist: distclean, then build and javadoc (including the web app and associated libs)" />
<echo message=" prepGUI: pull the LGPL and APL code for JFreeChart that we use in the GUIs" />
<echo message=" buildGUI: build the heartbeat and netmonitor GUIs (must have run prepGUI already)" />

jrandom
committed
<echo message=" prepWEB: pull down the Jetty libraries and whatever they depend on for the router console web application" />
<echo message=" buildWEB: build the router console web application (depends upon prepWEB)" />

jrandom
committed
<target name="dist" depends="distclean, build, buildWEB, javadoc" />
<target name="build" depends="builddep, jar" />

jrandom
committed
<target name="buildclean" depends="distclean, build" />
<!-- build *everything* here, but only once -->
<ant dir="core/java/" target="jar" />
<ant dir="router/java/" target="jar" />
<ant dir="apps/ministreaming/java/" target="jar" />
<ant dir="apps/i2ptunnel/java/" target="jar" />
<ant dir="apps/httptunnel/java/" target="jar" />
<ant dir="apps/phttprelay/java/" target="jar" />
<ant dir="apps/sam/java/" target="jar" />
<ant dir="apps/heartbeat/java/" target="jar" />
<ant dir="apps/netmonitor/java/" target="jar" />

jrandom
committed
<ant dir="apps/routerconsole/java/" target="jar" />
</target>
<target name="compile" />
<target name="jar" depends="compile" >
<copy file="core/java/build/i2p.jar" todir="build/" />
<copy file="router/java/build/router.jar" todir="build/" />
<copy file="apps/ministreaming/java/build/mstreaming.jar" todir="build/" />
<copy file="apps/i2ptunnel/java/build/i2ptunnel.jar" todir="build/" />
<copy file="apps/httptunnel/java/build/httptunnel.jar" todir="build/" />
<copy file="apps/phttprelay/java/build/phttprelay.war" todir="build/" />
<copy file="apps/sam/java/build/sam.jar" todir="build/" />
<copy file="apps/heartbeat/java/build/heartbeat.jar" todir="build/" />
<copy file="apps/netmonitor/java/build/netmonitor.jar" todir="build/" />
<copy file="apps/time/java/build/timestamper.jar" todir="build/" />
<copy file="installer/java/build/install.jar" todir="build/" />
<copy file="installer/java/build/guiinstall.jar" todir="build/" />
<copy file="installer/java/build/fetchseeds.jar" todir="build/" />
</target>
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc

jrandom
committed
sourcepath="core/java/src:core/java/test:router/java/src:router/java/test:apps/ministreaming/java/src:apps/i2ptunnel/java/src:apps/httptunnel/java/src:apps/routerconsole/java/src"
classpath="apps/jetty/jettylib/org.mortbay.jetty.jar"
destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
windowtitle="I2P" />
</target>
<target name="clean">
<delete dir="./build" />
</target>
<target name="distclean" depends="clean">
<ant dir="core/java/" target="distclean" />
<ant dir="router/java/" target="distclean" />
<ant dir="apps/ministreaming/java/" target="distclean" />
<ant dir="apps/i2ptunnel/java/" target="distclean" />
<ant dir="apps/httptunnel/java/" target="distclean" />
<ant dir="apps/phttprelay/java/" target="distclean" />
<ant dir="apps/sam/java/" target="distclean" />
<ant dir="apps/heartbeat/java/" target="distclean" />
<ant dir="apps/netmonitor/java/" target="distclean" />

jrandom
committed
<ant dir="apps/routerconsole/java/" target="distclean" />
<ant dir="installer/java/" target="distclean" />
<delete>
<fileset dir="." includes="**/*.class" />
<fileset dir="." includes="**/*.java~" />
</delete>
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<target name="distGUI" depends="clean, buildGUI">
<mkdir dir="build/lib" />
<copy file="apps/jfreechart/jfreechart-0.9.17/jfreechart-0.9.17.jar" todir="build/lib" />
<copy file="apps/jfreechart/jfreechart-0.9.17/lib/log4j-1.2.8.jar" todir="build/lib" />
<copy file="apps/jfreechart/jfreechart-0.9.17/lib/jcommon-0.9.2.jar" todir="build/lib" />
<copy file="apps/jfreechart/GUI-licenses.txt" todir="build/" />
<copy file="apps/netmonitor/java/build/netviewer.jar" todir="build/lib" />
<copy file="apps/heartbeat/java/build/heartbeatGUI.jar" todir="build/lib" />
<zip destfile="build/gui.zip" basedir="build/" includes="GUI-licenses.txt lib/*.jar" />
</target>
<target name="prepGUI">
<echo message="The code being fetched comes from http://www.jfree.org/jfreechart/" />
<echo message="It includes code licensed under the LGPL and the APL - please see" />
<echo message="the JFreeChart site (or the info downloaded) for source and details" />
<ant dir="apps/jfreechart/" target="fetchJfreechart" />
<ant dir="apps/jfreechart/" target="build" />
</target>
<target name="buildGUI">
<echo message="Building the GUIs for the heartbeat and netmonitor apps, which depend upon" />
<echo message="the JFreeChart and related packages. The following will fail if you haven't" />
<echo message="already run 'ant prepGUI' to fetch the LGPL/APL'ed code" />
<ant dir="apps/heartbeat/java" target="buildGUI" />
<ant dir="apps/netmonitor/java" target="buildGUI" />
<copy file="apps/jfreechart/jfreechart-0.9.17/jfreechart-0.9.17.jar" todir="build/" />
<copy file="apps/jfreechart/jfreechart-0.9.17/lib/log4j-1.2.8.jar" todir="build/" />
<copy file="apps/jfreechart/jfreechart-0.9.17/lib/jcommon-0.9.2.jar" todir="build/" />
<copy file="apps/jfreechart/GUI-licenses.txt" todir="build/" />
<copy file="apps/netmonitor/java/build/netviewer.jar" todir="build/" />
<copy file="apps/heartbeat/java/build/heartbeatGUI.jar" todir="build/" />
<echo message="GUIs created. You will need the following files to run them: " />
<echo message="jfreechart-0.9.17.jar log4j-1.2.8.jar jcommon-0.9.2.jar" />
<echo message="To run the netmonitor GUI: java -cp jfreechart-0.9.17.jar:log4j-1.2.8.jar:jcommon-0.9.2.jar -jar netviewer.jar" />
<echo message="To run the heartbeat GUI: java -cp jfreechart-0.9.17.jar:log4j-1.2.8.jar:jcommon-0.9.2.jar -jar heartbeatGUI.jar" />
</target>

jrandom
committed
<target name="prepWEB">
<ant dir="apps/jetty" target="fetchJettylib" />
</target>
<target name="buildWEB" if="jettylib.available">

jrandom
committed
<ant dir="apps/routerconsole/java" target="build" />
<copy file="apps/routerconsole/java/build/routerconsole.jar" todir="build/" />
<copy file="apps/routerconsole/java/build/routerconsole.war" todir="build/" />

jrandom
committed
<copy file="apps/jetty/jettylib/org.mortbay.jetty.jar" todir="build/" />
<copy file="apps/jetty/jettylib/org.mortbay.jetty-jdk1.2.jar" todir="build/" />
<copy file="apps/jetty/jettylib/ant.jar" todir="build/" />
<copy file="apps/jetty/jettylib/jasper-compiler.jar" todir="build/" />
<copy file="apps/jetty/jettylib/jasper-runtime.jar" todir="build/" />
<copy file="apps/jetty/jettylib/jnet.jar" todir="build/" />
<copy file="apps/jetty/jettylib/xercesImpl.jar" todir="build/" />
<copy file="apps/jetty/jettylib/xml-apis.jar" todir="build/" />
<copy file="apps/jetty/jettylib/javax.servlet.jar" todir="build/" />
<echo message="You will need the org.*, ant.jar, jasper-*.jar, jnet.jar, xercesImpl.jar, xml-apis.jar, " />
<echo message="and routerconsole.jar in your router's classpath. In addition, you will need to place the " />
<echo message="routerconsole.war file under your i2p install dir as webapps/routerconsole.war and will want " />
<echo message="to add the RouterConsoleRunner to the router's clientApp list (it must be in the router's JVM)" />

jrandom
committed
</target>