In September 2016, I attended 5 days Gerrit developer hackathon, in Walldorf, SAP.
As always it was a big pleasure to meet SAP Git/Gerrit hackers in person:
Sasa, Matthias, Michael and Chris.
I finalized my work on extending labels in secondary index to be change owner votes aware. Now it’s possible to use these gerrit queries:
Skip WIP changes, rejected by change owner:
is:open NOT label:Code-Review-2,owner
Skip non reviewable changes, approval by change owner:
is:open NOT label:Code-Review+2,owner
Detect changes, that violates “non-self approval policy”:
Suggest changes for auto merge: approval by change owner + verify by the bot (assuming default label set: CRVW + VRFY):
project:foo branch:master is:open is:mergeable label:Code-Review+2,owner label:Verified+1,buildbot NOT label:Code-Review-2 NOT label:Verified-1
GWT upgrade from 2.7 to 2.8 was an interesting journey. Gerrit upgraded Jetty to 9 years ago, as the consequence, we have seen classpath collisions caused by GWT using older Jetty version Jetty 8. As an intermediate step, we strip Jetty 8 bits from the gwt-dev.jar artifact and fork some parts of GWT library in Gerrit tree and adapt it to use Jetty 9. It turned out, it wasn’t trivial at all to bump Jetty version to 9 in GWT, because HtmlUnit was still depending on Jetty 8, (more precisely WebSocket part of it). Given that WebSocket module was substantially refactored in Jetty 9 compared to Jetty 8, HtmlUnit must be adapted to this WebSocket refactoring.
So, in the end I’ve implemented this upgrade series in 3 different projects: HTMLUnit, GWT, Gerrit:
- Upgrade WebSocket in HtmlUnit to use Jetty 9
- Upgrade GWT to use Jetty 9 and new HtmlUnit
- Upgrade Gerrit to use GWT 2.8 and revert the fork of parts of GWT adapted to Jetty 9 in Gerrit
The rest of the week I continued to work on Bazel build implementation. In the end of the week, all core plugins can be built with Bazel.
Here is the summary from Sasa on all activities during the Hackathon.
Big thank to The Document Foundation for funding the travel costs for my participation.