The build breakage was the spark. There have been more than a few java 6 related issues encountered since most devs use Java6 and don't test on java5.
Another big concern is the problem we have with dependencies that are or will move to Java 6. A perfect example is closure compiler which is Java 6 based. 2010/12/22 ๏̯͡๏ Jasvir Nagra <[email protected]>: > On Wed, Dec 22, 2010 at 2:56 AM, Paul Lindner <[email protected]> wrote: > >> Looks like the tally is: >> >> 10 +1 >> 3 -1 >> >> So.. No native 1.6 at the current time. >> >> I investigated a number of techniques for providing backwards >> compatibility. Most of them are geared towards 1.4 level >> compatibility and are not apropos. One small step we could take >> involves >> >> * Use -source 1.6 and -target 1.5 >> >> This uses 1.6 source level compatibility (@Override in interfaces, >> etc.) with 1.5 class file format. We would then rely upon the >> animal-sniffer plugin to ensure 1.5 level compatibility. >> >> * Create a separate jdk15 maven 'classifier' that has the 1.5 jars. >> >> Default build is native 1.6 >> >> We will need to use a special profile that: >> - sets -target 1.5 >> - sets the classifier to jdk15 >> - uses some sort of source-code level transformation plus backport >> jar to support jdk 1.5 >> >> For example... >> >> .getBytes(Charsets.UTF_8) --> .getBytes(Charsets.UTF_8.name()) >> Arrays.copyOf(..) --> org.shindig.backport.Arrays.copyOf() >> etc. >> >> >> Thoughts? > > > Depends on what the reason is for wanting to switch to java6. > > Java6 vs Java5 brings: > * additional useful functionality (eg jsr-223, collections) > * debugging (JPDA, JVMTI) > * fixes/changes some apis (eg getBytes) > * fixes some broken annotations (@Override of interfaces) > * something else? > > What instigated the vote was hudson breakage. This can be addressed by > setting source and target to 1.5 and running animal sniffer to ensure builds > aren't using java6 specific apis. Automatic source code rewriting to > convert 1.6 source to 1.5 add complexity without clear benefit since we > cannot use any of the new java6 functionality. > > On Wed, Dec 15, 2010 at 11:51 AM, Paul Lindner <[email protected]> wrote: >> > Let's do this the apache way >> > >> > vote open 72h >> > >> > [ ] +1 I support Shindig 3.0 targeting Java 1.6 >> > [ ] +0 I don't care either way >> > [ ] -1 Stop, please don't! I need java 1.5 support. >> > >> >> >> >> -- >> Paul Lindner -- [email protected] -- linkedin.com/in/plindner >> > -- Paul Lindner -- [email protected] -- linkedin.com/in/plindner
