Skip to end of metadata
Go to start of metadata

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.


  • No labels

1 Comment

  1. About the format of the generated mail, it would be great if one could plug a custom velocity template in there to generate custom emails.

    As a side effect, the user of the plugin should be able to define 1-N variables made available in the velocity context when generating the mail's content.

    Also, to provide compatibility with older web-client, we should have a plain/text velocity template and an html velocity template. I can provide help on this if needed.