|  | 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] |