The Software Engineering and Testing Suite enables you to set up a complete development environment quickly for a small to moderate sized Java development team. It embodies the idea of convention over configuration. By following a few conventions, projects can quickly gain the automatic configuration of a number of free, open-source Java testing and reporting tools integrated under Maven 2. SweatSuite enables unit test, code coverage and code quality reports from your existing tests and code, and provides preconfigured settings to simplify setting up the reports.
The need for this tool is based on the observation that many projects unnecessarily skimp on the automated tools. Why do they do this? The reasons seem to come down to:
If you fall in to the first category that just doesn't want to use the tools, this project is not for you. Go away now. Others, read on.
Projects hosted on SourceForge implicitly follow conventions to use the supplied services. These conventions enable sweatSuite to provide simple integration of the services with the Maven POM. These projects get more out of sweatSuite for even less configuration.
SweatSuite is a set of Maven 2 POMs designed to be inherited by other projects. The sweatsuite POM defines build profiles that add preselected plugins to the project and provide configuration based on a simple none/lenient/moderate/strict hierarchy rather than forcing you to create custom configurations for each tool right at the start. As a project matures, it can either move to increasingly strict preconfigured settings or can provide customized settings to replace them either in part or altogether.
The sourceforge POM extends the sweatsuite POM with configuration based on the conventions used by SourceForge.net to provide project services. This allows more settings to be supplied to the POM based on fewer and simpler configuration properties.
SweatSuite is not a new build system, or even a new Maven plugin. It is also not an implicit request for new features in Maven itself. The tools that this system integrates embody decisions about which reports to use and how to configure them. Those decisions are not necessarily the right ones for every situation, so it wouldn't be appropriate to put them into directly into Maven.