Alex, There be dragons having separate source and target versions. Namely, with source compatibility at 1.7, developers must compile with a JDK 7 which can lead to usage of Java7 runtime features. Therefore, while the class files might technically run on JRE 6, link exceptions will crop up because of the Java6 runtime.
My thought is to set source and target to 1.6. Developers should compile with JDK 6 and run on JRE 7. QA/integration tests on Jenkins should run both JRE 6 and 7. This approach allows development to start migrating towards JRE 7 while maintaining backwards compatibility for JRE 6 users. Thanks, -John On Feb 27, 2013, at 2:19 PM, Alex Huang <alex.hu...@citrix.com> wrote: >> Does this imply that it requires 1.7 to compile, but should be compatible >> with >> 1.6? > > I'm open to requiring 1.6 instead of 1.7 for source. > >> >> Also, we're talking about master (i.e.: not 4.1), right? > > I actually want this in 4.1 not just master. If a certain version of > cloudstack suddenly required jre 1.7, I think it will be very difficult to go > back to jre 1.6 in a later version. It also means anyone upgrading to 4.1 > will require an upgrade to jre 1.7. See the conclusion on this thread [1]. > > --Alex > > [1] http://markmail.org/thread/sryxuq6ks7ukpkp6