From 98038e9282b0282826c6c75bfc73d965237cedc6 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 12 Nov 2008 17:08:09 +0000 Subject: [PATCH] * Build files: - Use the depend task with caching for more accurate dependencies - Make sure the routerconsole gets the latest router version - Fix addressbook repeated builds --- apps/addressbook/build.xml | 23 ++++++++++++++++++++--- apps/i2psnark/java/build.xml | 17 ++++++++++++++++- apps/i2ptunnel/java/build.xml | 14 +++++++++++++- apps/ministreaming/java/build.xml | 13 ++++++++++++- apps/routerconsole/java/build.xml | 27 ++++++++++++++++++++++++++- apps/sam/java/build.xml | 14 +++++++++++++- apps/streaming/java/build.xml | 14 +++++++++++++- core/java/build.xml | 9 ++++++++- router/java/build.xml | 13 ++++++++++++- 9 files changed, 133 insertions(+), 11 deletions(-) diff --git a/apps/addressbook/build.xml b/apps/addressbook/build.xml index 5b22cd200e..c4b214feb7 100644 --- a/apps/addressbook/build.xml +++ b/apps/addressbook/build.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?> <project name="addressbook" default="war" basedir="."> - <property name="src" value="java/src/addressbook"/> + <property name="src" value="java/src"/> <property name="build" value="build"/> <property name="dist" location="dist"/> <property name="jar" value="addressbook.jar"/> @@ -19,7 +19,20 @@ <target name="distclean" depends="clean" /> - <target name="compile" depends="init"> + <target name="depend"> + <depend + cache="../../build" + srcdir="${src}" + destdir="${build}" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../core/java/build/obj" /> + <pathelement location="../jetty/jettylib/javax.servlet.jar" /> + </classpath> + </depend> + </target> + + <target name="compile" depends="init, depend"> <javac debug="true" deprecation="on" source="1.5" target="1.5" srcdir="${src}" destdir="${build}"> <classpath> @@ -37,7 +50,7 @@ </jar> </target> - <target name="war" depends="compile"> + <target name="war" depends="compile" unless="war.uptodate"> <mkdir dir="${dist}/tmp"/> <mkdir dir="${dist}/tmp/WEB-INF"/> <mkdir dir="${dist}/tmp/WEB-INF/classes"/> @@ -48,4 +61,8 @@ <delete dir="${dist}/tmp"/> </target> + <uptodate property="war.uptodate" targetfile="${dist}/${war}"> + <srcfiles dir= "." includes="${build}/**/*.class, web.xml"/> + </uptodate> + </project> diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml index 548e129aeb..0a882af6d2 100644 --- a/apps/i2psnark/java/build.xml +++ b/apps/i2psnark/java/build.xml @@ -7,7 +7,22 @@ <ant dir="../../streaming/java/" target="build" /> <!-- streaming will build ministreaming and core --> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + <pathelement location="../../../router/java/build/obj" /> + <pathelement location="../../ministreaming/java/build/obj" /> + <pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" /> + <pathelement location="../../jetty/jettylib/javax.servlet.jar" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml index 4221d6eff9..6db84dbf34 100644 --- a/apps/i2ptunnel/java/build.xml +++ b/apps/i2ptunnel/java/build.xml @@ -7,7 +7,19 @@ <ant dir="../../jetty/" target="build" /> <!-- ministreaming will build core --> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + <pathelement location="../../ministreaming/java/build/obj" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac diff --git a/apps/ministreaming/java/build.xml b/apps/ministreaming/java/build.xml index 321ebf2c8c..72a65d89c5 100644 --- a/apps/ministreaming/java/build.xml +++ b/apps/ministreaming/java/build.xml @@ -5,7 +5,18 @@ <target name="builddep"> <ant dir="../../../core/java/" target="build" /> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac srcdir="./src" debug="true" deprecation="on" source="1.5" target="1.5" destdir="./build/obj" classpath="../../../core/java/build/i2p.jar" /> diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml index e263d4ca63..cea75a248c 100644 --- a/apps/routerconsole/java/build.xml +++ b/apps/routerconsole/java/build.xml @@ -10,7 +10,32 @@ <target name="prepare"> <ant dir="../../jetty/" target="build" /> </target> - <target name="compile" depends="prepare"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + <pathelement location="../../../router/java/build/obj" /> + <pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" /> + <pathelement location="../../jetty/jettylib/javax.servlet.jar" /> + <pathelement location="../../systray/java/build/obj" /> + <pathelement location="../../systray/java/lib/systray4j.jar" /> + <pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 --> + <pathelement location="../../jrobin/jrobin-1.4.0.jar" /> + </classpath> + </depend> + <!-- Force the dependency on the RouterVersion as depend doesn't recognize constant changes --> + <dependset> + <srcfilelist dir="." files="../../../router/java/build/obj/net/i2p/router/RouterVersion.class" /> + <targetfilelist dir="." files="build/obj/net/i2p/router/web/NewsFetcher.class" /> + <targetfilelist dir="." files="build/obj/net/i2p/router/web/SummaryHelper.class" /> + <targetfilelist dir="." files="build/obj/net/i2p/router/web/UpdateHandler.class" /> + </dependset> + </target> + <target name="compile" depends="prepare, depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac diff --git a/apps/sam/java/build.xml b/apps/sam/java/build.xml index aa11115227..c0eab67a35 100644 --- a/apps/sam/java/build.xml +++ b/apps/sam/java/build.xml @@ -6,7 +6,19 @@ <ant dir="../../ministreaming/java/" target="build" /> <!-- ministreaming will build core --> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + <pathelement location="../../ministreaming/java/build/obj" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac diff --git a/apps/streaming/java/build.xml b/apps/streaming/java/build.xml index bc02e8876f..5c79f97cc8 100644 --- a/apps/streaming/java/build.xml +++ b/apps/streaming/java/build.xml @@ -6,7 +6,19 @@ <ant dir="../../ministreaming/java/" target="build" /> <!-- ministreaming will build core --> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../../core/java/build/obj" /> + <pathelement location="../../ministreaming/java/build/obj" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac diff --git a/core/java/build.xml b/core/java/build.xml index d568db3412..24b7a77bcd 100644 --- a/core/java/build.xml +++ b/core/java/build.xml @@ -5,7 +5,14 @@ <target name="builddep"> <!-- noop, since the core doesnt depend on anything --> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../build" + srcdir="./src" + destdir="./build/obj" > + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" /> diff --git a/router/java/build.xml b/router/java/build.xml index 0e0df9f62f..b6c9281aa4 100644 --- a/router/java/build.xml +++ b/router/java/build.xml @@ -8,7 +8,18 @@ <target name="builddeptest"> <ant dir="../../core/java/" target="jarTest" /> </target> - <target name="compile"> + <target name="depend"> + <depend + cache="../../build" + srcdir="./src" + destdir="./build/obj" > + <!-- Depend on classes instead of jars where available --> + <classpath> + <pathelement location="../../core/java/build/obj" /> + </classpath> + </depend> + </target> + <target name="compile" depends="depend"> <mkdir dir="./build" /> <mkdir dir="./build/obj" /> <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" classpath="../../core/java/build/i2p.jar" /> -- GitLab