Gerrit Code Review - Eclipse Setup ================================== 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]] 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 http://www.eclipse.org/m2e/download/[m2eclipse download page]. [[Formatting]] 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 ------------------- link:dev-readme.html#build[Build] once on the command line and then follow link:dev-readme.html#init[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. [[hosted-mode]] Running Hosted Mode ~~~~~~~~~~~~~~~~~~~ To debug the GWT code executing in the web browser, three additional Git repositories need to be cloned. * https://gerrit.googlesource.com/gwtexpui * https://gerrit.googlesource.com/gwtjsonrpc * https://gerrit.googlesource.com/gwtorm 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]] 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 link:config-gerrit.html#auth.type[auth.type] configuration parameter to `DEVELOPMENT_BECOME_ANY_ACCOUNT` to disable OpenID and allow you to impersonate whatever account you otherwise would've used. GERRIT ------ Part of link:index.html[Gerrit Code Review]