[Engine-devel] Revisiting Java7

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? -Allon [1] http://wiki.ovirt.org/Building_oVirt_engine#Installing_OpenJDK [2] maven-compiler-plugin section in ${OVIRT_GIT}/pom.xml [3] http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/ P.S. If you want to check that you aren't breaking Java/JDK 6 compatibility locally without installing java 6, you can run "mvn animal-sniffer:check". Note that animal sniffer analyzes binaries, so this has to be done /after/ the project was built. Of course, you can do this in a single line "mvn install animal-sniffer:check"

Hi, ----- Original Message -----
From: "Allon Mureinik" <amureini@redhat.com> To: "engine-devel" <engine-devel@ovirt.org> Sent: Monday, December 3, 2012 3:03:21 PM Subject: [Engine-devel] Revisiting Java7
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?
Last time I checked the latest checkstyle, it did not work with java 7 syntax unfortunately... Theoretically checkstyle already supports java 7, probably they only forgot about the maven plugin. I think this is blocking the way from using java 7 in the code that we do not share with GWT.
-Allon
[1] http://wiki.ovirt.org/Building_oVirt_engine#Installing_OpenJDK [2] maven-compiler-plugin section in ${OVIRT_GIT}/pom.xml [3] http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/
P.S. If you want to check that you aren't breaking Java/JDK 6 compatibility locally without installing java 6, you can run "mvn animal-sniffer:check". Note that animal sniffer analyzes binaries, so this has to be done /after/ the project was built. Of course, you can do this in a single line "mvn install animal-sniffer:check"
Nice :)
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Laszlo Hornyak" <lhornyak@redhat.com> To: "Allon Mureinik" <amureini@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Monday, December 3, 2012 4:36:42 PM Subject: Re: [Engine-devel] Revisiting Java7
Hi,
----- Original Message -----
From: "Allon Mureinik" <amureini@redhat.com> To: "engine-devel" <engine-devel@ovirt.org> Sent: Monday, December 3, 2012 3:03:21 PM Subject: [Engine-devel] Revisiting Java7
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?
Last time I checked the latest checkstyle, it did not work with java 7 syntax unfortunately... 2.9.1 seems to support it fine. I had some issues getting Treewalker to work in it (some weird error with google collections API incompatibility), but I'm sure it's doable.
Theoretically checkstyle already supports java 7, probably they only forgot about the maven plugin.
I think this is blocking the way from using java 7 in the code that we do not share with GWT.
-Allon
[1] http://wiki.ovirt.org/Building_oVirt_engine#Installing_OpenJDK [2] maven-compiler-plugin section in ${OVIRT_GIT}/pom.xml [3] http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/
P.S. If you want to check that you aren't breaking Java/JDK 6 compatibility locally without installing java 6, you can run "mvn animal-sniffer:check". Note that animal sniffer analyzes binaries, so this has to be done /after/ the project was built. Of course, you can do this in a single line "mvn install animal-sniffer:check"
Nice :)
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

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?
-Allon
[1] http://wiki.ovirt.org/Building_oVirt_engine#Installing_OpenJDK [2] maven-compiler-plugin section in ${OVIRT_GIT}/pom.xml [3] http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/
P.S. If you want to check that you aren't breaking Java/JDK 6 compatibility locally without installing java 6, you can run "mvn animal-sniffer:check". Note that animal sniffer analyzes binaries, so this has to be done /after/ the project was built. Of course, you can do this in a single line "mvn install animal-sniffer:check" _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- 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: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.)
-Allon
[1] http://wiki.ovirt.org/Building_oVirt_engine#Installing_OpenJDK [2] maven-compiler-plugin section in ${OVIRT_GIT}/pom.xml [3] http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/
P.S. If you want to check that you aren't breaking Java/JDK 6 compatibility locally without installing java 6, you can run "mvn animal-sniffer:check". Note that animal sniffer analyzes binaries, so this has to be done /after/ the project was built. Of course, you can do this in a single line "mvn install animal-sniffer:check" _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

On 12/04/2012 11:20 AM, Allon Mureinik 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: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.

----- 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. Alon

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?

----- 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.

another motive "End of Public Updates for Java SE 6 " https://blogs.oracle.com/java/entry/end_of_public_updates_for On 12/04/2012 08:25 PM, Asaf Shakarchi wrote:
----- 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. _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Roy Golan" <rgolan@redhat.com> To: engine-devel@ovirt.org Sent: Tuesday, December 18, 2012 10:31:37 AM Subject: Re: [Engine-devel] Revisiting Java7
another motive "End of Public Updates for Java SE 6 " https://blogs.oracle.com/java/entry/end_of_public_updates_for
I think we can wait with the change, there are no complains yet..
On 12/04/2012 08:25 PM, Asaf Shakarchi wrote:
----- 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:
----- 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: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. _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
participants (7)
-
Allon Mureinik
-
Alon Bar-Lev
-
Asaf Shakarchi
-
Gilad Chaplik
-
Itamar Heim
-
Laszlo Hornyak
-
Roy Golan