There are many reports and plugins now that generate reports against the
code.

I'd like to see an entire framework built around the concept of
Standardized Reporting.

The components of this framework...

maven-reporting-datapoint

  This would provide an API that various reporting plugins (checkstyle /
pmd / findbugs / etc...) can utilize to issue a very generic datapoint
DataPoint.report(Project project, File sourceFile, long line, int
severity, String type, String message);
  This API in turn logs the information into a data store (derby /
hsqldb / xmlstore) with a timestamp of its occurance.
  This library would also provide an abstract standard report generator
to produce a report that is consistent for all plugins.

maven-datapoint-report-plugin

  This would provide a report similar to JXR and Cobertura that lists
the source files, complete with hits against each file from all reports
that use the datapoint API.  Inline messages and highlighting can be
used to show the line and all problems associated with that line from
each datapoint generator.  This information should be produced on a
per-module and aggregated perspective.
  A historical graph can be shown from this datapoint information for
that module / project / file. (sparkline)

What needs to be done is identify the reporting types, and attempt to
define as few 'standard reports' views as possible.
The needs of JDepend is different than PMD or even Cobertura.  Heck, a
standard report format might just be a pipe dream, but the rest of the
datapoint proposal should still have merit.

If this is a good idea, I think we should encourage the appropriate
hooks into maven 2.1 for this functionality, and then work on this as a
seperate concept.

Wild dreaming ideas.  Implement a standard Maven SCM Annotate method so
that datapoints in the code can even be associated to the developer that
created that line, producing historical charts for each developer too!

- Joakim

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to