Build: Set Java 7 build target for all jars;

embedders (esp. Android) targetting 1.6 must
set javac.version=1.6 in override.properties and set
both bootclasspath variables.
This commit is contained in:
zzz
2016-10-26 16:56:13 +00:00
parent 2b6fd49a53
commit 08d1ea89bf
21 changed files with 39 additions and 30 deletions

View File

@ -48,8 +48,9 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.version=1.7
javac.target=1.5 javac.source=${javac.version}
javac.target=${javac.version}
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -7,7 +7,7 @@
<property name="jar" value="addressbook.jar"/> <property name="jar" value="addressbook.jar"/>
<property name="war" value="addressbook.war"/> <property name="war" value="addressbook.war"/>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="init"> <target name="init">
<mkdir dir="${build}"/> <mkdir dir="${build}"/>

View File

@ -7,7 +7,7 @@
<property name="jar" value="desktopgui.jar"/> <property name="jar" value="desktopgui.jar"/>
<property name="javadoc" value="javadoc"/> <property name="javadoc" value="javadoc"/>
<property name="javac.compilerargs" value=""/> <property name="javac.compilerargs" value=""/>
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<condition property="no.bundle"> <condition property="no.bundle">

View File

@ -26,7 +26,7 @@
</target> </target>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<condition property="no.bundle"> <condition property="no.bundle">

View File

@ -28,7 +28,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">

View File

@ -18,7 +18,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -28,7 +28,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -22,12 +22,12 @@
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />
<mkdir dir="./build/obj" /> <mkdir dir="./build/obj" />
<javac srcdir="./core/src/main/java" debug="true" deprecation="on" source="1.7" target="1.7" <javac srcdir="./core/src/main/java" debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
includeAntRuntime="false" includeAntRuntime="false"
destdir="./build/obj" > destdir="./build/obj" >
<compilerarg line="${javac.compilerargs7}" /> <compilerarg line="${javac.compilerargs7}" />
</javac> </javac>
<javac srcdir="./javase/src/main/java" debug="true" deprecation="on" source="1.7" target="1.7" <javac srcdir="./javase/src/main/java" debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
includeAntRuntime="false" includeAntRuntime="false"
destdir="./build/obj" classpath="./build/obj" > destdir="./build/obj" classpath="./build/obj" >
<compilerarg line="${javac.compilerargs7}" /> <compilerarg line="${javac.compilerargs7}" />

View File

@ -20,7 +20,7 @@
<property name="jetty.url" value="http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${jetty.ver}/${jetty.filename}" /> <property name="jetty.url" value="http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${jetty.ver}/${jetty.filename}" />
<property name="verified.filename" value="verified.txt" /> <property name="verified.filename" value="verified.txt" />
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="tomcat.lib" value="apache-tomcat-deployer/lib" /> <property name="tomcat.lib" value="apache-tomcat-deployer/lib" />
<property name="tomcat.ver" value="6.0.47" /> <property name="tomcat.ver" value="6.0.47" />
<property name="tomcat2.lib" value="apache-tomcat-${tomcat.ver}/lib" /> <property name="tomcat2.lib" value="apache-tomcat-${tomcat.ver}/lib" />

View File

@ -22,7 +22,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<condition property="no.bundle"> <condition property="no.bundle">

View File

@ -47,7 +47,7 @@
</target> </target>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="prepare, depend, dependVersion"> <target name="compile" depends="prepare, depend, dependVersion">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -22,10 +22,8 @@
</depend> </depend>
</target> </target>
<!-- ignored for now, we require java 7 here -->
<property name="javac.compilerargs7" value="" /> <property name="javac.compilerargs7" value="" />
<!-- ignored for now, we require java 7 here --> <property name="javac.version" value="1.7" />
<property name="javac.version" value="1.6" />
<!-- compile everything including client classes --> <!-- compile everything including client classes -->
<target name="compile" depends="depend"> <target name="compile" depends="depend">
@ -33,7 +31,7 @@
<mkdir dir="./build/obj" /> <mkdir dir="./build/obj" />
<javac <javac
srcdir="./src" srcdir="./src"
debug="true" deprecation="on" source="1.7" target="1.7" debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
includeAntRuntime="false" includeAntRuntime="false"
destdir="./build/obj" destdir="./build/obj"
classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar" > classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar" >

View File

@ -23,7 +23,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -33,7 +33,7 @@
</path> </path>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<condition property="no.bundle"> <condition property="no.bundle">

View File

@ -7,7 +7,7 @@
</target> </target>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<property name="require.gettext" value="true" /> <property name="require.gettext" value="true" />
<condition property="no.bundle"> <condition property="no.bundle">

View File

@ -21,7 +21,7 @@
</target> </target>
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -40,23 +40,20 @@ sloccount.report.file=sloccount.sc
require.gettext=true require.gettext=true
# Compile for this version of Java # Compile for this version of Java
javac.version=1.6 javac.version=1.7
# Additional classpath if required # Additional classpath if required
#javac.classpath=/PATH/TO/pack200.jar #javac.classpath=/PATH/TO/pack200.jar
# Optional compiler args # Optional compiler args
# This one is for subsystems requiring Java 6
# This one keeps gcj a lot quieter # This one keeps gcj a lot quieter
#javac.compilerargs=-warn:-unchecked,raw,unused,serial #javac.compilerargs=-warn:-unchecked,raw,unused,serial
# This one is for subsystems requiring Java 7
#javac.compilerargs7=
# #
# Note to packagers, embedders, distributors: # Note to packagers, embedders, distributors:
# #
# Strictly speaking, you must either use the compiler for the minimum Java version you are # Strictly speaking, you must either use the compiler for the minimum Java version you are
# targeting (default 1.6, see above), or specify a bootclasspath, which means you need # targeting (default 1.7, see above), or specify a bootclasspath, which means you need
# the JRE for the target version installed as well. # the JRE for the target version installed as well.
# #
# However, in practice, you can compile with 1.7 and target 1.6 without specifying a bootclasspath, # However, in practice, you can compile with 1.7 and target 1.6 without specifying a bootclasspath,
@ -70,7 +67,20 @@ javac.version=1.6
# http://zzz.i2p/topics/1668 # http://zzz.i2p/topics/1668
# https://gist.github.com/AlainODea/1375759b8720a3f9f094 # https://gist.github.com/AlainODea/1375759b8720a3f9f094
# #
# You must set both.
#
# For embedded use only, and for a limited time,
# the following subsystems ONLY may be built with Java 6 by setting javac.version=1.6 in override.properties,
# and setting javac.compilerargs to use java 6 jars:
# core, router, ministreaming, streaming, addressbook, i2ptunnel, BOB
# Use the buildX ant targets to build these (see build.xml).
# We may start using Java 7 features in these subsystems at any time and without notice.
#javac.compilerargs=-bootclasspath /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar #javac.compilerargs=-bootclasspath /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar
#
# For standard builds, set both of the following in override.properties:
#
#javac.compilerargs=-bootclasspath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar
#javac.compilerargs7=-bootclasspath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar
### UnitTests ## ### UnitTests ##

View File

@ -19,7 +19,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.classpath" value="" /> <property name="javac.classpath" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<!-- fixups if we're using libintl.jar for GettextResource.java --> <!-- fixups if we're using libintl.jar for GettextResource.java -->
<condition property="source.exclude1" value="gnu/gettext/GettextResource.java" else="NOTHING" > <condition property="source.exclude1" value="gnu/gettext/GettextResource.java" else="NOTHING" >

View File

@ -19,7 +19,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.classpath" value="" /> <property name="javac.classpath" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -19,7 +19,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.classpath" value="" /> <property name="javac.classpath" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend"> <target name="compile" depends="depend">
<mkdir dir="./build" /> <mkdir dir="./build" />

View File

@ -33,7 +33,7 @@
<!-- only used if not set by a higher build.xml --> <!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.7" />
<target name="compile" depends="depend, dependVersion"> <target name="compile" depends="depend, dependVersion">
<mkdir dir="./build" /> <mkdir dir="./build" />