The purpose of this project is to provide a set of Eclipse plug-ins that offer code review capabilities in the Eclipse IDE. Code review is systematic manual examination of source code with the goal of finding and fixing mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills. Reviews are done in various forms such as pair programming, informal walk-throughs, and formal inspections. Therefore, code reviewing systems and tools have to enable viewing and manually inspecting differences between a base version and a branch version of source code to identify changed code and potentially introduced mistakes. Editors must be able to request reviews, while reviewers must be able to comment on changed code and request it to be changed to address identified issues.
We believe that integrating code review capabilities directly into the IDE improves both the efficiency and effectiveness of the reviewer, as well as the editor receiving feedback on her/his changes. This is mainly due to the fact that the original editor and the reviewer can work in the same context as the original work was performed in and can profit from all the available features in the IDE, such as code highlighting, compilation, completion, team integration, navigation and other IDE features.
One of the most adopted code reviewing system, not only within the Eclipse foundation, but also in many other projects is Gerrit. Some of the mentioned functionality for reviewing code is currently available in a browser-based front-end for the Gerrit code review server. While the Gerrit server offers valuable functionality, making available all of the aforementioned features, such as code highlighting, in the Gerrit browser-based front-end would essentially mean reimplementing the IDE in the browser.
Some of the functionality offered by Gerrit has already been integrated into the Eclipse IDE with the Mylyn Gerrit connector as part of the Mylyn top-level project. Mylyn is a task management and ALM tool integrated with Eclipse. Therefore, code review is only one of many aspects of the whole application life-cycle management and development activities that have to be integrated with Mylyn. However, many projects use Gerrit-based code review without relying on other functionalities offered by Mylyn, such as task focusing. Not only have these features to be maintained by the developers but also users have to install additional features which are not needed for performing reviews and face an unnecessary load to the system.
On the other hand, the EGerrit project aims to achieve feature parity with the Gerrit web-interface and as its available features go beyond ALM and task focusing, this development might be hampered using Mylyn as a host framework.
For these reasons a dedicated project with the clear scope of implementing and integrating Gerrit with the Eclipse IDE may optimize the code review activities in Eclipse and allow feature parity with the Gerrit web interface more easily and focus on a tight and feature-rich integration with several components of the Eclipse IDE. Also support for model review can be facilitated more easily which is a future development target.
An integration with Mylyn is only an add-on feature in this setup but can still be achieved if required. This approach is consistent with other Eclipse projects, e.g. JDT, CDT, etc.
EGerrit provides a set of Eclipse plug-ins that provide Gerrit code review integration and capabilities in the Eclipse IDE.
The purpose of this project is to provide a set of Eclipse plug-ins that provide code review capabilities in the Eclipse IDE.
- Feature parity with the Gerrit 2.9 web front-end
- Future proof integration via RESTful web services interface
- Java Based
- Traction around a code review-centric Eclipse plug-in
- A dashboard connecting any number of Gerrit servers that displays reviews based on configurable search pattern
- Tabs that organize and manipulate information relevant to selected review and enables feature parity with Gerrit web
- Compare editors that feature in-line editing to enable comment editing and navigation
- Full compatibility with Gerrit web
- A foundation for model review within Eclipse
- EGerrit improves the programmer's efficiency by keeping her/him in a single IDE without having to switch to a web browser while performing code review.
The Eclipse IDE is the best ecosystem to host a code review tool as it leverages on the presence of a large community of dynamic developers.
The software operates under the EPL license. The software depends on the
Name of library License
com.google.gerrit version 2.9 Apache 2.0
com.google.gson version 2.9 Apache 2.0
com.google.gwt version 2.9 Apache 2.0
EMF: EPL 1.0
JGit: EPL 1.0
EGit: EPL 1.0
Apache commons Apache 2.0
Second Quarter 2015
EGerrit provides the foundation for realizing systematic reviews of models and diagrams as opposed to text-based code only. Therefore, EGerrit provides add-on functionality to integrate with the Eclipse Modeling Framework (EMF), as well as with modeling technologies that build on top of EMF, such as GMF, UML2, and Papyrus.