blob: 64e5935689c858d4acf1fa7e24cf17ef3924d716 [file] [log] [blame]
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]