EclEmma 2.3.1 Java Code Coverage for Eclipse EclEmma at SourceForge.net
Eclipse Community Award 2008
JaCoCo
Built on CloudBees
The Java Specialists' Newsletter

Developer Information

This section provides information for EclEmma contributors and ISVs using the EclEmma API. The project is hosted on the GitHub platform, its organization page is https://github.com/jacoco. The JaCoCo and EclEmma Users Group is the place to discuss ideas, ask questions and get in touch with the developers.

Trunk Builds

The latest trunk build is always available at the update site URL http://download.eclipselab.org/eclemma/trunk/update (not browseable).

EclEmma API

The com.mountainminds.eclemma.core plug-in exposes a public API that is used by the UI plug-in. The same API may be used by third parties e.g. for alternative user interfaces, other use cases or functional extensions.

Hacking EclEmma

Interested to working with the EclEmma code base for new features and improvements? No problem, with basic PDE skills you should get started within a few minutes. Here is a quick start guide:

1. Setup an Eclipse IDE for EclEmma

  • Have Eclipse installed including the Plug-in Development Environment. The PDE is for example included in the Eclipse Classic download or can be added to your existing Eclipse installation via the Update Manager.
  • Add Git support to your Eclipse by installing the latest version of EGit.
  • To ensure that your code complies with the minimal requirements you should have installed Java 1.5 JRE and Eclipse 3.5. Configure these JDK and Eclipse versions as your development target in the Eclipse preferences.
  • The EclEmma plug-ins depend on JaCoCo and ASM bundles. For these dependencies you can simply install the latest EclEmma trunk build into your target platform from this update site: http://download.eclipselab.org/eclemma/trunk/update
  • Clone from the repository URL https://github.com/jacoco/eclemma.git and import the Eclipse projects contained in the repository.
  • The web site www.eclemma.org is also maintained a Git repository. A Python interpreter is required to run the generator script generator/eclemmasite.py.

2. Get familiar with the code base

The high-level design principles and some implementation strategies are introduced in the architecture description. Implementation details can be studied in the JavaDoc included with the EclEmma source base. A good understanding of Eclipse' launch and debug framework will help to get behind the Coverage mode implementation.

3. Contribute back!

So you finally created a cool new feature or fixed some bug? Great, contribute it back to the official EclEmma releases! Open a feature request or create a pull request with your implementation.