• Akshatha

    Akshatha - 2012-01-05

    Does EMMA expose any API's or web services for the other applications to interact?


  • Marc R. Hoffmann


    EMMA has no "official" API. But as it is fully implemented in Java you can interact with EMMA via its Java implementation classes. This is how I implemented EclEmma 1.x. Since EMMA 2.1.5320 there is a proprietary remoting API, see release notes.

    Alternatively you might take a look at our new code coverage library JaCoCo, which has been designed for integration from the very beginning and has a documented API.


  • Vlad Roubtsov

    Vlad Roubtsov - 2012-01-06

    In v2.1 codebase, see the extensive javadoc for com.vladium.emma.Processor and com.vladium.emma.Command. These were created specifically for programmatic integration with EMMA.

    Some "under the hood" stuff can be learned by examining code comments in  com.vladium.emma.data.CoverageData and com.vladium.emma.data.MetaData. Persistence of this data (i.e. the *.em, *.ec files) is managed by com.vladium.emma.data.DataFactory.

    Finally, report generation is done in  com.vladium.emma.report package, with specific details of a given report type in com.vladium.emma.report.<type> subpackage. Reports are generated via traversal visits of a tree of "items" representing data aggregates to report. This is pretty much the classic Visitor pattern, with com.vladium.emma.report.IItemVisitor as the starting point.


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks