summaryrefslogtreecommitdiffstats
path: root/Documentation/dev-eclipse.txt
blob: 019c78f0d75fcd1ef48829f4c52ffd09cf1309b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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, two additional Git
repositories need to be cloned.

* 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 site doesn't appear, only directory listing is shown. Web toolkit
developer browser plugin is missing. If there is no warning, that browser
plugin is missing with the suggestion to install it, you can install the
right extension for your browser from the following locations:
+
https://dl.google.com/dl/gwt/plugins/chrome/gwt-dev-plugin.crx[Chrome]
+
link:https://dl.google.com/dl/gwt/plugins/firefox/gwt-dev-plugin.xpi[Firefox]
+
link:http://dl.google.com/dl/gwt/plugins/ie/1.0.7263.20091208111100/gwt-dev-plugin.msi[IE]
+
https://dl.google.com/dl/gwt/plugins/safari/gwt-dev-plugin.dmg[Safari]

GERRIT
------
Part of link:index.html[Gerrit Code Review]