Hi all,

ovirt-engine project reached a nice milestone, compiling and running on Java-11 📣
The move itself needed care to see nothing breaks and with the help of OST it remaind
like unbroken, but the move was mostly painless and didn't require changes to
real business logic code. It was mainly to deal with 2 things, working with modules and
lack of support from GWT.

Modular JDK (project jigsaw) landed in java-9 is more relevant to the delivery of the sofware
rather to the development of it. Specifically now you can ship your software only with
a subset of the jdk, or produce your jar as a module so it can expose or hide internal
with real enforcment(even no reflection).
The relevant part to the change here is that java doesn't provide EE code in the jdk,
specifically java.xml, java.annotation, javax.activation [1]

GWT and specifically the gwt compiler doesn't recognize java syntax beyond 8, and
efforts of the community to support don't look promising. Luckily since it is strictly
compile-time only concern the invocation of the gwt compiler, which is invoked by
maven, is instructed to use java-8 javac. This means the frontend artifacts are
remain uneffected by this change.

Morning comes, I want to rebase and compile the project!
This should not be huge change, and is document here [2]:
- install java-11-openjdk-devel
- make java-11 binaries available on your path before java-8 (use your favorite method
  I use alternatives)
- install maven >= 3.5.0

Please report any problem here and also if the README [2] is not helping enough
please help improve it!

P.S - Obviously it is strongly encouraged to get familiar with what java 9, 10, and 11
brought in and start make use of it. If you think you have code you want to contribute
to master, but is going to be backported to 4.3 bare in mind the difference in java version.

Thanks,
  Roy

[1] covered in the git log https://gerrit.ovirt.org/#/c/98623/
[2] https://github.com/oVirt/ovirt-engine/blob/master/README.adoc#note-on-java-versions