| META TOPICPARENT | name="TechnicalTodo" |
MIFOS Findbugs Status
This page includes notes and information for anyone working on findbugs issues or interested
in knowing where things stand on findbugs issues. If you are working on findbugs issues feel
free to add to or update the information on this page.
Findbugs Counts
These counts represent the high, medium (normal), low priority bugs identified by findbugs. The subversion revision number at which findbugs was run is listed in the Revision column. The most recent status is at the top.
Note: These totals were generated from running findbugs using the findbugs ant task. Running
findbugs within Eclipse (and filtering to include only findbugs warnings) yielded a total of 1887 (rather than 1883)
bugs at revision 11411. The exact reason for this difference is unclear and should be more easily
determined once the total bug counts have been reduced.
Findbugs Setup and Configuration
Please refer to the findbugs manual for basic setup instructions.
There is a "findbugs" target in the Mifos build.xml file which generates an analysis file to dist/mifos.findbugs.output.xml. The analysis file can be loaded into the findbugs GUI tool for easier viewing.
To run the "findbugs" ant build target for Mifos you need to tell the ant task where your findbugs install is located. It will default to the tools directory under your Mifos root, or you can override this in conf/my.build.properties to specify another directory which contains the findbugs install. For example:
findbugs.home=c:/tools/findbugs-1.1.1
If you are running the findbugs ant task in Eclipse, then go to Window->Preferences and edit the Ant/Runtime/Global Entries. Choose "Add External JARs..." and under your findbugs install directory, add lib/findbugs-ant.jar.
The minimum bug level to report for Mifos defaults to "low" but can be set to "medium", or "high" by adding an entry like the following to your my.build.properties file:
findbugs.reportlevel=medium
A findbugs filter file (conf/findbugs.filter.xml) can be used to exclude bugs over large sections of the code base. The preference for individual bug exclusions is to use an annotation and a comment at the location in the code where the bug is being ignored.
Currently the "findbugs" build target in ant is run separately from a regular build, but it could easily be integrated into a build once the current warnings have been addressed.
-- Main.vanmh - 11 Dec 2006 |