This document is about configuring Gerrit Code Review into an Eclipse workspace for development and debugging with GWT.

Java 6 or later SDK is also required to run GWT’s compiler and runtime debugging environment.

Maven Plugin

Install the Maven Integration plugins.

In Eclipse version 3.7 (Indigo) and later, these are available in the default update site and can be found under the Collaboration category.

For older versions the update site must be manually added; the link can be found on the m2eclipse download page.

Code Formatter Settings

Import tools/GoogleFormat.xml using Window → Preferences → Java → Code Style → Formatter → Import…

This will define the Google Format profile, which the project settings prefer when formatting source code.

Import Projects

Import the projects into Eclipse by going to File → Import… → Maven → Existing Maven Projects and selecting the directory containing pom.xml.

Some of the source code is generated with ANTLR sources. To build these files, right click on the imported projects, Maven → Update Project Configuration. This will resolve compile errors identified after import.

Site Initialization

Build once on the command line and then follow Site Initialization in the Developer Setup guide to configure a local site for testing.

Testing

Running the Daemon

Duplicate the existing pgm_daemon launch configuration:

  • Run → Debug Configurations …

  • Java Application → pgm_daemon

  • Right click, Duplicate

  • Modify the name to be unique.

  • Switch to Arguments tab.

  • Edit the -d program argument flag to match the path used during init. The template launch configuration resolves to ../test_site since that is what the documentation recommends.

  • Switch to Common tab.

  • Change Save as to be Local file.

Running Hosted Mode

To debug the GWT code executing in the web browser, three additional Git repositories need to be cloned.

In Eclipse, import the pom.xml file in the root directory of each of these cloned gits via General → Maven Projects.

Duplicate the existing gwtui_dbg launch configuration:

  • Run → Debug Configurations …

  • Java Application → gwtui_dbg

  • Right click, Duplicate

  • Modify the name to be unique.

  • Switch to Arguments tab.

  • Edit the -Dgerrit.site_path= VM argument to match the path used during init. The template launch configuration resolves to ../test_site since that is what the documentation recommends.

  • Switch to Common tab.

  • Change Save as to be Local file.

Known problems

  • When running Gerrit under the Eclipse debugger, code that attempts to load Prolog code may erroneously raise ClassNotFoundException, claiming that classes in the Gerrit package can’t be found. The error can often be resolved by rebuilding Gerrit with mvn package and restarting the debug session.

  • OpenID authentication won’t work in hosted mode, so you need to change the auth.type configuration parameter to DEVELOPMENT_BECOME_ANY_ACCOUNT to disable OpenID and allow you to impersonate whatever account you otherwise would’ve used.


Part of Gerrit Code Review