I was actually in the 1.5 camp. On Sun, Mar 29, 2009 at 12:35 AM, Peter Firmstone <[email protected]> wrote:
> Summary so far: > > Please correct me if I'm wrong or missed anybody. > > Which River release should we migrate to Java 5 language & API? > > Those wanting Java 5 language & API features: > > Dennis Reedy > Jim Waldo > Jonathan Costers > Greg Trasuk > Peter Firmstone > Niclas Hedhman > Dan Rollo > > Those against using Retrotranslator and want to drop Java 1.4 runtime > support altogether: (please add names and brief comment) > > > > > Those happy for Java 1.4 bytecode compatibility release bundle to be with > maintained by using the Retrotranslator library at build time: (When we > transition to Java 5, building with JDK 1.4 will no longer be supported) > > Peter Firmstone > Patrick Wright > Sean Landis > Dan Rollo > > I'm personally still concerned with dropping Java 1.4 runtime support > altogether, there are large companies around standardised on Java 1.4. > There's also a large install base of the JavaME CDC platform (Java SE 1.4.2 > compatible), which includes BlueRay players, Digital TV's, Set top boxes , > photocopiers, the odd smart phone etc. Also the only Java runtime on ARM is > the JavaME CDC, some of these now have significant memory and processing > power and look like entering the netbook market. I don't want to limit > River if it can be helped. Anything without enough resources can go the > Surrogate route as Sean Landis has suggested. > > Patrick Wright suggested: 'Perhaps the community can make a project-level > statement like, "as of release X, River will begin to use Java 1.5 (or 6) > APIs and language features." ' > > I'd also like to hear some more from Tim Blackman on the issue? > > I have a concern that if we go the Java 5 and later route without Java 1.4 > runtime support and later found that it was delaying adoption of River we > might find we've moved on too far to go back. > > The cost of maintaining runtime compatibility with Retrotranslator: > > 1. Modifying build.xml to use Retrotranslator to create an additional > release bundle, "River X.X.X JAVA 1.4 Compatible release", generated by the > Ant build scripts specific to JRE 1.4 > 2. Running the regression tests against the River JRE 1.4 compatibility > release on JRE 1.4, can this be added as a separate optional run on the > regression test using Ant? The developer would probably need to set a > JAVA_HOME_JRE1.4 environment variable. > 3. Solving bugs related to unsupported Java 5 or later features on > Retrotranslator and, I'm sure these and other bugs will arise from time to > time. > > From the Retrotranslator project site: > > > How to use Retrotranslator from Apache Ant or Maven? > > The distribution contains an Apache Ant <http://ant.apache.org/> task > |net.sf.retrotranslator.transformer.RetrotranslatorTask|. Every command line > <http://retrotranslator.sourceforge.net/#commandline> option can be set > using the corresponding attribute. In addition the source files can be > specified with nested |fileset|, |jarfileset|, and |dirset| elements and the > classpath <http://retrotranslator.sourceforge.net/#option_classpath> can > be set with nested |classpath| elements or the |classpathref| attribute. The > source directories specified with |srcdir|, |dirset|, and the |dir| > attribute of |fileset| should contain the root package of the classes. In > case of warnings the build fails unless the value of the |failonwarning| > attribute is set to |false|. The following script can be used to build one > jar compatible with Java 1.4 and another one compatible with Java 1.3. > > <taskdef name="retrotranslator" > classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"> > <classpath> > <fileset dir="../Retrotranslator-n.n.n-bin"> > <include name="retrotranslator-transformer-n.n.n.jar" /> > <include name="retrotranslator-runtime-n.n.n.jar" /> > <include name="backport-util-concurrent-n.n.jar" /> > </fileset> > </classpath> > </taskdef> > <retrotranslator target="1.4" destjar="build/application14.jar" > smart="true" verify="true" failonwarning="false"> > <fileset dir="build/classes" includes="**/*.class" /> > <jarfileset dir="build/lib" includes="**/*.jar" /> > <classpath> > <fileset dir="../j2sdk1.4.2_17/jre/lib" includes="**/*.jar"/> > <fileset dir="../Retrotranslator-n.n.n-bin"> > <include name="retrotranslator-runtime-n.n.n.jar" /> > <include name="backport-util-concurrent-n.n.jar" /> > </fileset> > <fileset dir="lib" includes="**/*.jar"/> > </classpath> > </retrotranslator> > > <retrotranslator target="1.3" destjar="build/application13.jar" > smart="true" verify="true" failonwarning="false"> > <fileset dir="build/classes" includes="**/*.class" /> > <jarfileset dir="build/lib" includes="**/*.jar" /> > <classpath> > <fileset dir="../jdk1.3.1_20/jre/lib" includes="**/*.jar"/> > <fileset dir="../Retrotranslator-n.n.n-bin"> > <include name="retrotranslator-runtime13-n.n.n.jar" /> > <include name="backport-util-concurrent-java12-n.n.jar" /> > </fileset> > <fileset dir="lib" includes="**/*.jar"/> > </classpath> > </retrotranslator> > > > > >
