I tried using these three code quality plugins: findbugs, pmd, and checkstyle. All basically do the same things: use a config file, check the source or byte code, and generate reports. However, they don’t follow the same rules:
-
checkstyle needs a config file to be present, and makes the build fail otherwise. The other two plugins use a default configuration.
-
findbugs generates xml OR html. PMD generates both by default. Checkstyle generates only XML. They should all be able to generate both types, IMHO, and should have the same default
Moreover, I would find it much cleaner to have html reports generated in a html subdirectory, and xml reports to be generated in an xml subdirectory. This would make other tasks (publishing to sonar, zipping, etc.) easier to develop. Moreover, if other future plugins (please support cobertura!) adopt the same strategy, it will be even more important because they might generate a whole lot of xml and html files. Cobertura, for example, generates one html file per class.