Changes Plugin Design
In Maven 1, there are 3 plugins that work independantly but are related:
- changes - which converts a custom "changes.xml" file into a change log report
- announcement - converts the same changes.xml file format into a plain text announcement and can mail it
- jira - queries reports from JIRA and directly converts it to a change log report, without being related to changes.xml
What we want to be able to do here is tie these together into one plugin.
You will need to be able to read changes.xml, and JIRA through a common interface. Later, this will be separated into a library like Maven SCM and taught to communicate with Bugzilla, SF Issue Tracker, and so on.
After reading this, you should have a list of issues with some fields populated. These can then be turned into a report.
The report format will either be XHTML via the Doxia sink, or announcement format. I don't think we'll be able to use doxia to create the announcement format, so this could be a straight velocity template.
The announcement:mail goal should become changes:announcement-mail and will create the announcement text, then mail it using the plexus-mailer component.