
----- Original Message -----
On 12/04/2012 03:53 PM, Alon Bar-Lev wrote:
----- Original Message -----
From: "Itamar Heim" <iheim@redhat.com> To: "Allon Mureinik" <amureini@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Tuesday, December 4, 2012 1:13:49 PM Subject: Re: [Engine-devel] Revisiting Java7
On 12/04/2012 11:20 AM, Allon Mureinik wrote:
From: "Itamar Heim" <iheim@redhat.com> To: "Allon Mureinik" <amureini@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Tuesday, December 4, 2012 1:40:10 AM Subject: Re: [Engine-devel] Revisiting Java7
On 12/03/2012 04:03 PM, Allon Mureinik wrote:
Hi guys,
Earlier today, Java6 compatibility was broken (http://gerrit.ovirt.org/#/c/9430/). This was picked up on pretty quickly, and easily fixed (http://gerrit.ovirt.org/#/c/9666/).
However, I think this is a good opportunity to revisit our policy towards Java 7. Currently, we have an "odd" setup, where we recommend running a compiling /with/ Java 7 [1] but comply to Java 6 language level [2] and JDK [3]. Inevitably, mistakes like the that happened today will happen.
I know we're holding back due to GWT issues, but looking forward to oVirt 4.0, is Java 7 on our roadmap?
what was the GWT issue? GWT 2.3 that we use doesn't support java 7 syntax. The latest version, 2.5, doesn't either. I'm not sure, however, this is a good reason to enforce the java 6
----- Original Message ----- limitation on the entire project (including backed, rest, etc.)
i agree. you can limit it to the parts used by GWT for now.
The major advantage to move to java7 is the try-with-resources statement.
If we can do this for 3.2 it will be great. From what I understand from Allon, the only noisy change is to move the common and compat out of the backend directory into its own top-level directory, so we can apply a different maven policy on these two easily.
This way the common/compat and frontend will be built using 1.6 and backend will be built using 1.7.
and searchbackend. asaf, is there no easier way to enable java 7 compilation/enforcement except for these 3?
In the long run consider having a project layer such as : Frontend / Backend / Shared [common/compat/searchbackend] , this will allow us to use plugins inheritance cleanly [regarding versions], Of course inheritance is nicer but it requires a lot of movements (maybe in v4?) For now its easy - we can just use the maven-compiler to define source/target of [v1.7] for the root project, while defining explicitly different versions per frontend/shared module [v1.6] Checkstyles should be upgraded as well.