From 157b85b11bfe285294fe7d82d1bf92aa02d528b1 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sun, 26 Apr 2009 15:54:51 +0000
Subject: [PATCH] pass compiler args down from top build.xml

---
 apps/addressbook/build.xml        |  2 ++
 apps/i2psnark/java/build.xml      |  6 +++++-
 apps/i2ptunnel/java/build.xml     |  6 +++++-
 apps/jetty/build.xml              |  7 +++++--
 apps/ministreaming/java/build.xml |  5 ++++-
 apps/routerconsole/java/build.xml |  3 +++
 apps/sam/java/build.xml           |  9 +++++++--
 apps/streaming/java/build.xml     |  9 +++++++--
 apps/susidns/src/build.xml        |  6 +++++-
 apps/susimail/build.xml           |  2 ++
 apps/systray/java/build.xml       |  5 ++++-
 build.xml                         |  7 +++++++
 core/java/build.xml               | 10 ++++++++--
 installer/lib/launch4j/build.xml  |  3 +++
 router/java/build.xml             | 10 ++++++++--
 15 files changed, 75 insertions(+), 15 deletions(-)

diff --git a/apps/addressbook/build.xml b/apps/addressbook/build.xml
index b28cec2dcc..6332c5bcc6 100644
--- a/apps/addressbook/build.xml
+++ b/apps/addressbook/build.xml
@@ -6,6 +6,7 @@
 	<property name="dist"  location="dist"/>
 	<property name="jar" value="addressbook.jar"/>
 	<property name="war" value="addressbook.war"/>
+	<property name="javac.compilerargs" value="" />
 	
 	<target name="init">
 		<mkdir dir="${build}"/>
@@ -38,6 +39,7 @@
 	<target name="compile" depends="init, depend">
 		<javac debug="true" deprecation="on" source="1.5" target="1.5" 
                        srcdir="${src}" destdir="${build}">
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../../core/java/build/i2p.jar" />
                 <pathelement location="../jetty/jettylib/javax.servlet.jar" />
diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index 9689fda068..d70233ac6e 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -24,6 +24,7 @@
             </classpath>
         </depend>
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -31,7 +32,9 @@
             srcdir="./src" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../jetty/jettylib/org.mortbay.jetty.jar:../../jetty/jettylib/javax.servlet.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../jetty/jettylib/org.mortbay.jetty.jar:../../jetty/jettylib/javax.servlet.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="builddep, compile">
         <jar destfile="./build/i2psnark.jar" basedir="./build/obj" includes="**/*.class" excludes="**/*Servlet.class">
@@ -55,6 +58,7 @@
     <target name="standalone_prep" depends="war">
         <javac debug="true" deprecation="on" source="1.5" target="1.5" 
                destdir="./build" srcdir="src/" includes="org/klomp/snark/web/RunStandalone.java" >
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../../jetty/jettylib/commons-logging.jar" />
                 <pathelement location="../../jetty/jettylib/commons-el.jar" />
diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index 564f6fc4b8..5ab73d5e2f 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -22,6 +22,7 @@
             </classpath>
         </depend>
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -29,7 +30,9 @@
             srcdir="./src" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="builddep, compile">
         <jar destfile="./build/i2ptunnel.jar" basedir="./build/obj" includes="**/*.class">
@@ -73,6 +76,7 @@
         </java>
         <javac debug="true" deprecation="on" source="1.5" target="1.5" 
                destdir="../jsp/WEB-INF/classes/" srcdir="../jsp/WEB-INF/classes" includes="**/*.java">
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml
index 643dd79fdc..dab064c5ec 100644
--- a/apps/jetty/build.xml
+++ b/apps/jetty/build.xml
@@ -6,6 +6,7 @@
     <property name="jetty.url" value="http://dist.codehaus.org/jetty/jetty-5.1.x/jetty-5.1.12.zip" />
     <property name="jetty.filename" value="jetty-5.1.12.zip" />
     <property name="verified.filename" value="verified.txt" />
+    <property name="javac.compilerargs" value="" />
 
     <target name="all" depends="build" />
 
@@ -90,9 +91,11 @@
         <mkdir dir="./build/obj" />
         <javac 
             srcdir="./java/src" 
-            debug="true" deprecation="on" source="1.5" target="1.5" 
+            debug="true" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="./jettylib/commons-logging.jar:./jettylib/javax.servlet.jar:./jettylib/org.mortbay.jetty.jar" />
+            classpath="./jettylib/commons-logging.jar:./jettylib/javax.servlet.jar:./jettylib/org.mortbay.jetty.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile">
         <jar destfile="./jettylib/org.mortbay.jetty.jar" basedir="./build/obj" includes="**/*.class" update="true" >
diff --git a/apps/ministreaming/java/build.xml b/apps/ministreaming/java/build.xml
index 48920deefe..1f83b640dd 100644
--- a/apps/ministreaming/java/build.xml
+++ b/apps/ministreaming/java/build.xml
@@ -19,10 +19,13 @@
             </classpath>
         </depend>
     </target>
+    <property name="javac.compilerargs" value="" />
     <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" />
+        <javac srcdir="./src" debug="true" deprecation="on" source="1.5" target="1.5" destdir="./build/obj" classpath="../../../core/java/build/i2p.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile">
         <jar destfile="./build/mstreaming.jar" basedir="./build/obj" includes="**/*.class" />
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index 00168963bf..23e1ac05bd 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -40,6 +40,7 @@
              <targetfilelist dir="." files="build/obj/net/i2p/router/web/UpdateHandler.class" />
         </dependset>
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile" depends="prepare, depend, dependVersion">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -47,6 +48,7 @@
             srcdir="./src" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj">
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../../../core/java/build/i2p.jar" />
                 <pathelement location="../../../router/java/build/router.jar" />
@@ -114,6 +116,7 @@
         <javac debug="true" deprecation="on" source="1.5" target="1.5" 
                destdir="../jsp/WEB-INF/classes/" 
                srcdir="../jsp/WEB-INF/classes" includes="**/*.java">
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
diff --git a/apps/sam/java/build.xml b/apps/sam/java/build.xml
index bb692f2db3..78f9cdfb0a 100644
--- a/apps/sam/java/build.xml
+++ b/apps/sam/java/build.xml
@@ -21,6 +21,7 @@
             </classpath>
         </depend>
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -28,14 +29,18 @@
             srcdir="./src" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="compileTest" depends="compile">
         <javac 
             srcdir="./test" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile">
         <jar destfile="./build/sam.jar" basedir="./build/obj" includes="**/*.class">
diff --git a/apps/streaming/java/build.xml b/apps/streaming/java/build.xml
index a32ca077c3..7740a60226 100644
--- a/apps/streaming/java/build.xml
+++ b/apps/streaming/java/build.xml
@@ -21,6 +21,7 @@
             </classpath>
         </depend>
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -28,14 +29,18 @@
             srcdir="./src" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="compileTest" depends="compile">
         <javac 
             srcdir="./test" 
             debug="true" deprecation="on" source="1.5" target="1.5" 
             destdir="./build/obj" 
-            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" />
+            classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="builddep, compile">
         <jar destfile="./build/streaming.jar" basedir="./build/obj" includes="**/*.class" />
diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
index d3f5f1662c..be34b4879e 100644
--- a/apps/susidns/src/build.xml
+++ b/apps/susidns/src/build.xml
@@ -22,10 +22,13 @@
         <pathelement location="${lib}/ant.jar" />
         <pathelement location="../../../core/java/build/i2p.jar" />
  	</path>
+	<property name="javac.compilerargs" value="" />
  	<target name="compile">
 		<mkdir dir="${bin}" />
 		<javac debug="true" deprecation="on" source="1.5" target="1.5"
- 			classpathref="cp" destdir="${bin}" srcdir="${src}" includes="**/*.java" />
+ 			classpathref="cp" destdir="${bin}" srcdir="${src}" includes="**/*.java" >
+			<compilerarg line="${javac.compilerargs}" />
+		</javac>
 	</target>
     <target name="precompilejsp" unless="precompilejsp.uptodate">
         <delete file="WEB-INF/web-fragment.xml" />
@@ -45,6 +48,7 @@
         </java>
         <javac debug="true" deprecation="on" source="1.5" target="1.5" 
                destdir="${bin}" srcdir="./WEB-INF/classes" includes="**/*.java" classpathref="cp">
+		<compilerarg line="${javac.compilerargs}" />
          </javac>
         <copy file="WEB-INF/web-template.xml" tofile="WEB-INF/web-out.xml" />
         <loadfile property="jspc.web.fragment" srcfile="WEB-INF/web-fragment.xml" />
diff --git a/apps/susimail/build.xml b/apps/susimail/build.xml
index abf2a88cf7..886f9471f6 100644
--- a/apps/susimail/build.xml
+++ b/apps/susimail/build.xml
@@ -5,11 +5,13 @@
     <target name="builddep">
         <ant dir="../jetty/" target="build" />
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile">
         <javac 
             srcdir="./src/src"
             debug="true" deprecation="off" source="1.5" target="1.5" 
             destdir="./src/WEB-INF/classes">
+            <compilerarg line="${javac.compilerargs}" />
             <classpath>
                 <pathelement location="../jetty/jettylib/javax.servlet.jar" />
                 <pathelement location="../jetty/jettylib/org.mortbay.jetty.jar" />
diff --git a/apps/systray/java/build.xml b/apps/systray/java/build.xml
index 19db56d5ca..1597f20b35 100644
--- a/apps/systray/java/build.xml
+++ b/apps/systray/java/build.xml
@@ -5,6 +5,7 @@
     <target name="builddep">
         <ant dir="../../../core/java/" target="build" />
     </target>
+    <property name="javac.compilerargs" value="" />
     <target name="compile">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
@@ -16,7 +17,9 @@
             target="1.5"
             destdir="./build/obj"
             includes="**/*.java"
-            classpath="./lib/systray4j.jar:../../../core/java/build/i2p.jar" />
+            classpath="./lib/systray4j.jar:../../../core/java/build/i2p.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile" unless="jar.uptodate">
         <mkdir dir="./build/jar_temp" />
diff --git a/build.xml b/build.xml
index 3a30ff8e7f..d2c4001be7 100644
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,13 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <project basedir="." default="all" name="i2p">
    
+    <!-- Things you might want to change -->
+    <!-- This keeps gcj a lot quieter -->
+    <!--
+        <property name="javac.compilerargs" value="-warn:-unchecked,raw,unused,serial" />
+    -->
+
+    <!-- You probably don't want to change anything from here down -->
     <target name="all" >
         <echo message="Useful targets: " />
         <echo message="  pkg:       distclean then package everything up (installer, clean tarball, update tarball)" />
diff --git a/core/java/build.xml b/core/java/build.xml
index 28adbf9df2..a52dcb6354 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -15,15 +15,21 @@
             destdir="./build/obj" >
         </depend>
     </target>
+    <!-- only used if not set by a higher build.xml -->
+    <property name="javac.compilerargs" value="" />
     <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" />
+        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="compileTest">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
-        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" />
+        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile">
         <jar destfile="./build/i2p.jar" basedir="./build/obj" includes="**/*.class" />
diff --git a/installer/lib/launch4j/build.xml b/installer/lib/launch4j/build.xml
index 42c77a225f..767e7c5927 100644
--- a/installer/lib/launch4j/build.xml
+++ b/installer/lib/launch4j/build.xml
@@ -7,6 +7,7 @@
 	<property name="dist" location="${user.home}/dist/${ant.project.name}" />
 	<property name="jar" location="./${ant.project.name}.jar" />
 	<property name="launch4j.dir" location="." />
+	<property name="javac.compilerargs" value="" />
 
 	<path id="dist.classpath">
 		<pathelement path="${build}" />
@@ -23,6 +24,8 @@
 
 	<target name="compile" depends="init" description="compile the source">
 		<javac srcdir="${src}" destdir="${build}" classpathref="dist.classpath" source="1.4" debug="on" />
+			<compilerarg line="${javac.compilerargs}" />
+		</javac>
 		<copy todir="${build}/images">
 			<fileset dir="${src}/images">
 				<include name="**/*" />
diff --git a/router/java/build.xml b/router/java/build.xml
index 95878e468f..70f83fbd70 100644
--- a/router/java/build.xml
+++ b/router/java/build.xml
@@ -22,15 +22,21 @@
             </classpath>
         </depend>
     </target>
+    <!-- only used if not set by a higher build.xml -->
+    <property name="javac.compilerargs" value="" />
     <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" />
+        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" classpath="../../core/java/build/i2p.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="compileTest" depends="builddeptest">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
-        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" classpath="../../core/java/build/i2ptest.jar" />
+        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" classpath="../../core/java/build/i2ptest.jar" >
+            <compilerarg line="${javac.compilerargs}" />
+        </javac>
     </target>
     <target name="jar" depends="compile">
         <jar destfile="./build/router.jar" basedir="./build/obj" includes="**/*.class" />
-- 
GitLab