[Engine-devel] Revisiting Java7

Asaf Shakarchi ashakarc at redhat.com
Tue Dec 4 18:25:06 UTC 2012


----- Original Message -----
> On 12/04/2012 03:53 PM, Alon Bar-Lev wrote:
> >
> >
> > ----- Original Message -----
> >> From: "Itamar Heim" <iheim at redhat.com>
> >> To: "Allon Mureinik" <amureini at redhat.com>
> >> Cc: "engine-devel" <engine-devel at 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:
> >>>
> >>>
> >>> ----- Original Message -----
> >>>> From: "Itamar Heim" <iheim at redhat.com>
> >>>> To: "Allon Mureinik" <amureini at redhat.com>
> >>>> Cc: "engine-devel" <engine-devel at 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
> >>> 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.
> 



More information about the Engine-devel mailing list