On 04-09-15 07:12, Claudio Bley wrote: > At Wed, 2 Sep 2015 17:38:03 +0200, > Wido den Hollander wrote: >> >> >> >>> The current code doesn't compile under Java 7, but Java 7 is also EOL. >>> >>> >>> That should not be the case. Can you provide the error messages or >>> simply point to the place where Java 8 classes are used? >>> >> >> build: >> [javac] Compiling 98 source files to >> /home/wido/repos/libvirt-java/target/classes >> [javac] warning: [options] bootstrap class path not set in >> conjunction with -source 1.7 >> [javac] >> /home/wido/repos/libvirt-java/src/main/java/org/libvirt/event/DomainEvent.java:63: >> error: incompatible types: inference variable T#1 has incompatible upper >> bounds Enum<T#2>,T#3 >> [javac] return this.type.obtain(this.detail); >> [javac] ^ >> [javac] where T#1,T#2,T#3 are type-variables: >> [javac] T#1 extends Enum<T#1> declared in method <T#1>obtain(int) >> [javac] T#2 extends T#3 >> [javac] T#3 extends Enum<T#3>,DomainEventDetail declared in >> method <T#3>getDetail() >> [javac] 1 error >> [javac] 1 warning > > This reminded me of a problem I once saw with the Java 7 (I think) > compiler being unable to correctly infer the types when calling static > generic methods. > > Since I always used the Java 7 compiler to compile the code and as I > saw the javac warning above, I got curious. > > The thing is: the code compiles just fine with an actual Java 7 > compiler (OpenJDK 1.7.0_85), but not when using a Java 8 compiler > (OpenJDK 1.8.0_60) with the `-source 1.7` switch. > Ah, indeed. I'm using the Oracle Java 8 JDK and not OpenJDK. >> But if the compile issue can be fixed we can probably require at least >> Java 7. I think Java 6 is dangerous. > > I'm still thinking about this. Maybe you're right. But still, the code > is valid 1.7 source code. Should we prevent that code from compiling > on Java 7 to protect users from using an obsolete JVM? I don't think > this is the right place to control that. > No, we can probably depend on Java 7, but we should update the README that it doesn't compile properly on Oracle's JDK and you should use OpenJDK. Wido > -- > Claudio > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list