XDepend changelogs for open source projects

written by Ivan on October 5th, 2009 @ 12:20 PM

XDepend features a rather unusual functionality that is seldom found in the traditional feature set of code analysis tools ; the build comparison. This feature allows to compare an analysis of a set of jars with a previous analysis of the same jars. There are then several CQL keywords that are available in queries which allows to extract a lot of interesting insight on the differences between the two builds.

We decided to put this feature to some good use by generating reports for several major open source frameworks written in Java. These reports show the results of a build comparison analysis between the current version and the previous major release of a given framework. The different sections present information on global project metrics, what has changed (added / removed methods, API changes at the type or method level, ...) as well as the evolution of instability and abstractness between the two versions.

These reports are generated by running XDepend in console mode and providing a custom tailored XSL stylesheet. We tried our best to select the most meaningful information and present them in a readable manner, thus creating a new kind of changelog format for these projects. We hope you will find these reports interesting. Be sure to let us know how you think we could improve them and don’t hesitate to give us ideas on which projects and versions would make an interesting report. You can find the list of the generated reports here.

Update: we added documentation for the two features of XDepend used to generate these reports: build comparison and custom reports generation.

Comments

  • Tom Emerson on 05 Oct 16:16

    This is great, but it would be really nice if you included some technical details on how you did this, since the “documentation” for XDepend (or NDepend, for that matter) doesn’t discuss this at all. Indeed, what I would like to be able to do (my company has a license for XDepend) is generate the reports from the command line for two versions of my codebase and then output comparisons based on a collection of customized CQL. No where can I find documentation on doing this kind of thing.

  • Ivan on 06 Oct 12:23

    We are indeed still a bit light on documentation, but we are working on it. I created two documentation pages to document the subject: Generating custom reports and Build comparison feature . I hope this will answer your questions, be sure to let us know if the documentation isn’t clear enough or sufficient.

Comments are closed