
----- Original Message -----
From: "Laszlo Hornyak" <lhornyak@redhat.com> To: "Juan Hernandez" <jhernand@redhat.com> Cc: engine-devel@ovirt.org Sent: Thursday, July 19, 2012 3:04:17 PM Subject: Re: [Engine-devel] java 1.6 compatibility no more?
Hi,
At the moment if you update the <source> and <target> settings of the compiler plugin to 1.7 in the root pom, the project will build fine, but some of the junit tests will fail. (some strange problem with bytecode manipulation see here http://code.google.com/p/powermock/issues/detail?id=355)
The real solution for this is to stop using powermock, an effort we've been pursuing for the last couple of months. After merging a couple more patches that were already approved and just waiting for merge on the subject (http://gerrit.ovirt.org/#/c/6280/ && http://gerrit.ovirt.org/#/c/6392/ - if one of the maintainers can lend a hand), we remain with two failures which both originate from the same place: org.ovirt.engine.api.restapi.resource.BackendResourceDebugDetailTest org.ovirt.engine.api.restapi.resource.BackendResourceInfoDetailTest Both of these failures are due to powermocking in AbstractBackendResourceLoggingTest. Basically, this test is used for testing that the logging in BaseBackendResource.detail(Throwable) method is done properly. Not sure how useful this is (perhaps someone more familiar with REST-API can shed some insight?), but if this is the only thing preventing us from moving to jdk-7... well..
Moving only the <source> does not work, moving only the <target> leaves the junit tests failing.
So as you see I have rejected my own patch :-) http://gerrit.ovirt.org/6447/
Laszlo
----- Original Message -----
From: "Juan Hernandez" <jhernand@redhat.com> To: "Vojtech Szocs" <vszocs@redhat.com> Cc: engine-devel@ovirt.org Sent: Thursday, July 19, 2012 1:41:26 PM Subject: Re: [Engine-devel] java 1.6 compatibility no more?
On 07/19/2012 01:39 PM, Yair Zaslavsky wrote:
On 07/19/2012 02:31 PM, Vojtech Szocs wrote:
Don't we need that (the source part) to avoid Java 7 syntax in GWT code?
That's a very good point.
In general, GWT compiler supports Java 5 syntax (note that there are no language changes between Java 5 and 6). For this reason, our frontend code should be compliant with Java 5. If someone uses new Java 7 language features in frontend code, GWT compiler will throw an error and the build will fail.
So the 'Java 5 only' limitation applies to frontend code and any other code (e.g. shared modules) that is directly referenced by frontend code. This shouldn't affect the backend, however.
We could do something like this:
- let oVirt root POM declare source and target compliance to Java 7 - let frontend modules POM (frontend/webadmin/modules/pom.xml) declare source compliance to Java 5 (or 6)
(note that target compliance can be left to Java 7 since frontend compilation results in JavaScript code)
What do you think?
Vojtech
+1 - I really like this idea!
+1 from me as well.
----- Original Message ----- From: "Juan Hernandez" <jhernand@redhat.com> To: "Vojtech Szocs" <vszocs@redhat.com> Cc: "Yair Zaslavsky" <yzaslavs@redhat.com>, engine-devel@ovirt.org Sent: Thursday, July 19, 2012 11:01:00 AM Subject: Re: [Engine-devel] java 1.6 compatibility no more?
On 07/19/2012 10:09 AM, Vojtech Szocs wrote:
As I previously emailed - JDK7 already fixed a known issue with ldap and DNS ,and made one of my patches at gerrit redundant. Why not enjoy the bug fixes?
I agree, but in that case, why not switch to '1.7' Java source/target compliance for oVirt Maven build as well?
If JDK6 cannot be used for building oVirt (because of missing Java 7 APIs, because of LDAP/DNS issues in JDK6, etc.), we should also update our Maven POM files. Currently, when I import oVirt projects into Eclipse (using Eclipse Maven plugin), I'm getting compile errors on 'bll' project. This is because our Maven POM files declare '1.6' Java source/target compliance.
Juan - you are right, but for me, it sounds quite strange to have '1.6' Java source/target compliance for Maven build, and use JDK7 to do the build.
Don't we need that (the source part) to avoid Java 7 syntax in GWT code?
----- Original Message ----- From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: engine-devel@ovirt.org Sent: Thursday, July 19, 2012 7:59:45 AM Subject: Re: [Engine-devel] java 1.6 compatibility no more?
On 07/18/2012 08:21 PM, Juan Hernandez wrote:
On 07/18/2012 06:33 PM, Vojtech Szocs wrote: > In fact, for both backend and frontend, Maven effective POM > contains: > > <artifactId>maven-compiler-plugin</artifactId> > <configuration> > <source>1.6</source> > <target>1.6</target> > </configuration> > > Therefore, according to Maven POM files, oVirt should be > build-able using Java 6, but it's not. (?)
These maven settings just tell the java compiler to accept Java 6 syntax only and to generate a Java 6 compatible .class file format, but they don't restrict the set of APIs that can be used.
> The problem is in backend/manager/modules/bll: > StorageDomainCommandBase class uses new Java 7 Long.compare() > static method. > > I think we should decide if we want to be compliant with Java > 7, or submit a patch that uses Java 6 API (Long.compareTo > instance method). > > Vojtech
As I previously emailed - JDK7 already fixed a known issue with ldap and DNS ,and made one of my patches at gerrit redundant. Why not enjoy the bug fixes?
> > > ----- Original Message ----- > From: "Laszlo Hornyak" <lhornyak@redhat.com> > To: "engine-devel" <engine-devel@ovirt.org> > Cc: "Vojtech Szocs" <vszocs@redhat.com> > Sent: Wednesday, July 18, 2012 5:43:34 PM > Subject: java 1.6 compatibility no more? > > Hi, > > It may be a historic moment, but for a few hours oVirt engine > is no longer building on java 1.6. > Is this intentional? > > Laszlo
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
_______________________________________________ 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