Hello folks,

we're using the latest GWT version in master UI now [1].

We can start using Java 8 syntax in our frontend code. GWT 2.8 also brings partial support for Java 8 standard library APIs, see "JDK emulation" at [2] for details.

[1] https://gerrit.ovirt.org/#/q/topic:gwtupgrade
[2] http://www.gwtproject.org/release-notes.html#Release_Notes_2_8_0_RC1

Effectively, all Engine (Java Maven) modules [3] are now Java 8 source & target compilant.

[3] except backend/manager/modules/extensions-api-root

With this upgrade, the GWT UI should be a bit faster - generated JavaScript should take advantage of new web APIs (e.g. using ES6 Maps to implement Java HashMap) as well as general performance improvements (e.g. using a faster "long" emulation).

GWT 2.8 removes deRPC (direct-eval RPC) mechanism but that's OK because we're already using the standard GWT RPC [4].

[4] https://gerrit.ovirt.org/#/c/65735/

There are no changes to existing build & development process:
- debugging via Java IDE (aka Classic Dev Mode) remains the default debug method
- debugging via browser (aka Super Dev Mode) can be enabled via DEV_BUILD_GWT_SUPER_DEV_MODE flag [5]

[5] example: $ make gwt-debug DEBUG_MODULE=webadmin DEV_BUILD_GWT_SUPER_DEV_MODE=1

Note that in GWT 2.8 the Super Dev Mode is the new default debug method (with Classic Dev Mode being deprecated).

There are still some post-upgrade tasks to do, we're tracking them on Trello: https://trello.com/b/o26RrVLz/post-gwt-2-8-upgrade-tasks

If you encounter any issues related to GWT compilation or debugging, let me know.

Regards,
Vojtech