XRadar is an open extensible code report tool currently supporting all Java based systems. The batch-processing framework produces HTML/SVG reports of the systems current state and the development over time - all presented in sexy tables and graphs. It gets results from several brilliant open source projects and a couple of in house grown projects and presents the results as massive unified html/svg reports. The architecture is based on java, xml and xsl. For now, it only supports Java, but there are plans to produce plug ins for other leading languages.
See the short presentation below for more details.
A small maintenace release. Please see changelog.
First maintenance release of the 1.1.x branches has been released. Please see changelog for more details.
This release has been successfully testing the following environement:
When running XRadar with Java 5, it requires an internet connection. If you are accessing internet with a proxy, you need to set the Java proxy parameters in the ANT_OPTS variable:
$ export ANT_OPTS="-Dhttp.proxyHost=proxyhostURL -Dhttp.proxyPort=proxyPortNumber" (linux)
or
$ set ANT_OPTS=-Dhttp.proxyHost=proxyhostURL -Dhttp.proxyPort=proxyPortNumber (windows)
This new version comes with a lot of new features and bug fixes:
As XRadar uses a rather complex set of technologies, mixing Ant, XSLT/XML, and Java code, we run into some issues regarding use of XML Catalog, filename and file path and character set encoding depending on which plateform (OS + Java + Ant) we where running. Therefore, we check that the testproject on several plateform, please check the page on supported plateform on our wiki.
If you do run XRadar successfully on other plateform, please let us know !
Another major fix of this new version is performance related, the previous release, which introduced a new way of packaging XRadar (as one jar, rather than a set of files) has two issues when it came to analyse "large project" (around 1000 classes):
On memory usage issue matter, we refactored XRadar to use files (and InputStream) rather than String object. Those changes lead to a far less memory hungrier XRadar. The following memory usage graphics (displayed by GCViewer) display the memory consumption of xradar running with 1Go memory an audit over the Apache Project QPid, which encompass about 1000 classes:
On more personnal note, a great thanks to everyone (especially Ernesto Botella Vélez for his testing) that contribute to XRadar since 1.0 as most of the news features came from this real community work.
First, you can go to the Test Report for a teaser. To see the graphics, note that you need a SVG viewer in your browser (Firefox comes with it, IE requires a plugin by Adobe). XRadar downloads can be found under file releases under the sourceforge project page.
To actually run this demo on your computer, it's pretty easy :
$ ant -lib lib/junit-*.jar
$ ant -Dinclude.junit=true -Dinclude.emma=true -lib lib/junit*.jar all
or
$ ant -Dinclude.junit=true -Dinclude.cobertura=true -lib lib/junit*.jar all
$ ant -Dcloc.enabled=true -lib lib/junit*.jar all
You do need to set up both a JDK (Java Run Time, plus Java Compiler) and the Ant tools, prior to running XRadar. Note that you can also run it using Maven 2 (instructions on the maven plugin page).
XRadar was build to solve the needs of a large reengineering initiative. Hence, reports and results presented are based on real requirements - likely to match needs in your organisation as well. An important design requirement was that all stakeholders should get their preferred view of the system : managers, architects and developers. We believe they all deserve an ownership and understanding of the systems quality and development. Hence you can navigate from abstract system quality representations, through modules, packages down through classes to the source and javadoc - everything is integrated.
By default, XRadar gives measurements on standard software metrics such as package metrics and dependencies, code size and complexity, code duplications, coding violations and code-style violations. Data from unit test metrics and code coverage are also integrated, but must be obtained running the test suites on the system while doing monitoring. On the left, you can see a typical view in XRadar : one package is compared to all the other packages in the system on typical metrics in a spider graph.
Interested?! Go to the sourceforge page link in the top left corner for downloading. Installation instructions are given under "Downloading and Configuration". If you want to see the XRadar on a very simple project, go to Example analysis. You need an svg plugin in your browser to see the images. In the sections below some deeper descriptions of the XRadar are shown.