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