From: "Laszlo Hornyak" <lhornyak(a)redhat.com>
To: "Juan Hernandez" <jhernand(a)redhat.com>
Cc: engine-devel(a)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
(
- 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(a)redhat.com>
> To: "Vojtech Szocs" <vszocs(a)redhat.com>
> Cc: engine-devel(a)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(a)redhat.com>
> >> To: "Vojtech Szocs" <vszocs(a)redhat.com>
> >> Cc: "Yair Zaslavsky" <yzaslavs(a)redhat.com>,
> >> engine-devel(a)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(a)redhat.com>
> >>> To: engine-devel(a)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(a)redhat.com>
> >>>>> To: "engine-devel" <engine-devel(a)ovirt.org>
> >>>>> Cc: "Vojtech Szocs" <vszocs(a)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(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/engine-devel
>
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel