| ------ |
| Usage |
| ------ |
| Johnny R. Ruiz III |
| Allan Ramirez |
| Dennis Lundberg |
| ------ |
| 2011-05-31 |
| ------ |
| |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/doxia/references/apt-format.html |
| |
| |
| Usage |
| |
| This plugin is used to create a Changes Report, a JIRA Report and an |
| Announcement text file. It is also able to send the announcement via email. |
| |
| |
| *How to Generate the Changes Report |
| |
| In order to use this goal, simply create a <<<changes.xml>>> file in the <<<src/changes/>>> directory. |
| Here's an example of a typical <<<changes.xml>>>, showing the syntax: |
| |
| ------------------- |
| <document xmlns="http://maven.apache.org/changes/1.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> |
| <properties> |
| <title>Changes Tester Project</title> |
| <author email="jruiz@exist.com">Johnny R. Ruiz III</author> |
| </properties> |
| <body> |
| <release version="1.1" date="2005-03-01" description="Subsequent release"> |
| <action dev="jruiz" type="add"> |
| Added additional documentation on how to configure the plugin. |
| </action> |
| <action dev="aramirez" type="fix" issue="MPJIRA-11"> |
| Enable retrieving component-specific issues. |
| </action> |
| <action dev="jruiz" type="remove" due-to="Allan Ramirez" due-to-email="aramirez@exist.com"> |
| The element type " link " must be terminated by the matching end-tag. |
| Deleted the erroneous code. |
| </action> |
| </release> |
| |
| <release version="1.0" date="2005-01-01" description="First release"> |
| <action dev="jruiz" type="update"> |
| Uploaded documentation on how to use the plugin. |
| </action> |
| </release> |
| </body> |
| </document> |
| ------------------- |
| |
| See the {{{./changes.html}Changes Reference}} for details regarding the |
| <<<\<release\>>>> and <<<\<action\>>>> elements and their attributes. |
| |
| To generate the Changes Report, insert the Changes Plugin in the |
| <<<\<reporting\>>>> section of your project's <<<pom.xml>>> |
| |
| ------------------- |
| <project> |
| ... |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>changes-report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| ... |
| </project> |
| ------------------- |
| |
| and execute the <<<site>>> phase to generate the report. |
| |
| ------------------- |
| mvn site |
| ------------------- |
| |
| ** Linking to Your Issue Management System |
| |
| If you use the <<<issue>>> attribute in your <<<changes.xml>>> file and have |
| the <<<\<issueManagement\>>>> element configured in your <<<pom.xml>>>, the |
| report will contain links to the issues in your issue management system. |
| |
| Starting with version 2.4 the plugin comes pre-configured for a whole bunch of |
| different issue management systems. All you have to to is enter your issue |
| management system and the URL to it in your POM. It can look like this: |
| |
| ----- |
| <project> |
| ... |
| <issueManagement> |
| <system>JIRA</system> |
| <url>http://jira.company.com/</url> |
| </issueManagement> |
| ... |
| </project> |
| ----- |
| |
| If you have a previous configuration for <<<\<issueLinkTemplatePerSystem\>>>> |
| in your POM, you can probably throw that away when you start using version 2.4, |
| unless you use more than one issue management system. |
| |
| The following table shows the pre-configured issue management systems and the |
| templates they use to create links from your Changes Report directly to the |
| issues in your issue management system. |
| |
| *---------------+--------------------------------------------------------+ |
| | <<System>> | <<Issue Link Template>> | |
| *---------------+--------------------------------------------------------+ |
| | Bitbucket | %URL%/issue/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Bugzilla | %URL%/show_bug.cgi?id=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | GitHub | %URL%/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | GoogleCode | %URL%/detail?id=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | JIRA | %URL%/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Mantis | %URL%/view.php?id=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | MKS Integrity | %URL%/viewissue?selection=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Redmine | %URL%/issues/show/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Scarab | %URL%/issues/id/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | SourceForge | http://sourceforge.net/support/tracker.php?aid=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | SourceForge2 | %URL%/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Trac | %URL%/ticket/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Trackplus | %URL%/printItem.action?key=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | Tuleap | %URL%/?aid=%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| | YouTrack | %URL%/issue/%ISSUE% | |
| *---------------+--------------------------------------------------------+ |
| |
| If you use an issue management system other than the ones above, you need to |
| {{{./changes-report-mojo.html#issueLinkTemplatePerSystem}configure an issue |
| link template for it}}. |
| We would love to extend the table above with more issue management systems, |
| so if you have a working configuration that is not listed above, please tell |
| us about it by {{{./issue-tracking.html}creating an issue for it}}. |
| |
| <<Note:>> Make sure that your <<<\<issueManagement\>/\<url\>>>> is |
| correct. In particular, make sure that it has a trailing slash if it needs one. |
| The plugin can't add this for you, because it needs to handle different issue |
| management systems. If your issue management system is at |
| <<<http://www.company.com/bugzilla/>>> |
| the links will not work if you enter <<<http://www.company.com/bugzilla>>> |
| in your <<<pom.xml>>>. |
| |
| |
| *How to Generate the JIRA Report |
| |
| <<Note:>> To use the JIRA Report, the <<<\<issueManagement\>>>> section in |
| the <<<pom.xml>>> of your project must be configured. It might look something |
| like this: |
| |
| ------------------- |
| <project> |
| ... |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/MCHANGES</url> |
| </issueManagement> |
| ... |
| </project> |
| ------------------- |
| |
| To generate the JIRA Report, insert the Changes Plugin in the |
| <<<\<reporting\>>>> section of your project's <<<pom.xml>>> |
| |
| ------------------- |
| <project> |
| ... |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>jira-report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| ... |
| </project> |
| ------------------- |
| |
| and execute the site goal to generate the report. |
| |
| ------------------- |
| mvn site |
| ------------------- |
| |
| For info on how to modify the JIRA Report see the |
| {{{./examples/customizing-jira-report.html}Customizing the JIRA Report}} |
| example. |
| |
| *How to Generate the GitHub Report |
| |
| <<Note:>> To use the GitHub Report, the <<<\<issueManagement\>>>> section in |
| the <<<pom.xml>>> of your project must be configured. It might look something |
| like this: |
| |
| ------------------- |
| <project> |
| ... |
| <issueManagement> |
| <system>GitHub</system> |
| <url>https://github.com/rails/rails/issues</url> |
| </issueManagement> |
| ... |
| </project> |
| ------------------- |
| |
| To generate the GitHub Report, insert the Changes Plugin in the |
| <<<\<reporting\>>>> section of your project's <<<pom.xml>>> |
| |
| ------------------- |
| <project> |
| ... |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>github-report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| ... |
| </project> |
| ------------------- |
| |
| and execute the site goal to generate the report. |
| |
| ------------------- |
| mvn site |
| ------------------- |
| |
| For info on how to modify the JIRA Report see the |
| {{{./examples/configuring-github-report.html}Configuring the GitHub Report}} |
| example. |
| |
| *How to generate and send the Announcement via Email |
| |
| As usual we start by configuring your project's <<<pom.xml>>>. We add a basic |
| configuration for sending emails and specify the lucky recipients of the |
| announcement emails. |
| |
| For info on how to change the sender of the email see the |
| {{{./examples/specifying-mail-sender.html}Specifying the mail sender}} example. |
| |
| If you have customizations for JIRA that add additional issue types, |
| or if you are using an IMS that isn't fully-supported in this plugin, |
| you will need to configure any additional issue types here. |
| |
| For each issue type, you have to map it to one of three action types: |
| <add>, <fix>, or <update>. These terms are a bit arbitrary. By default, for JIRA, |
| <add> corresponds to 'New Feature', <fix> corresponds to 'Bug', and <update> |
| corresponds to 'Improvement'. |
| |
| ------------------- |
| <project> |
| ... |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <configuration> |
| ... |
| <smtpHost>mail.yourhost.com</smtpHost> |
| <smtpPort implementation="java.lang.Integer">25</smtpPort> |
| <toAddresses> |
| <toAddress implementation="java.lang.String">someones@email.com</toAddress> |
| <toAddress implementation="java.lang.String">anothersomeone@email.com</toAddress> |
| </toAddresses> |
| ... |
| <issueTypes> |
| <add>Story</add> |
| <fix>Defect, Malfunction</fix> |
| </issueTypes> |
| ... |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| ... |
| </project> |
| ------------------- |
| |
| You can now generate the announcement by executing the command below: |
| |
| ------------------- |
| mvn changes:announcement-generate |
| ------------------- |
| |
| If you want to generate the announcement based on JIRA you need to |
| configure that in your <<<pom.xml>>>, like this: |
| |
| ------------------- |
| <project> |
| ... |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <configuration> |
| ... |
| <issueManagementSystems> |
| <issueManagementSystem>JIRA</issueManagementSystem> |
| </issueManagementSystems> |
| ... |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| ... |
| </project> |
| ------------------- |
| |
| To generate the announcement based on <<both>> a <<<changes.xml>>> file and JIRA |
| you should configure your <<<pom.xml>>> like this: |
| |
| ------------------- |
| <project> |
| ... |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${project.version}</version> |
| <configuration> |
| ... |
| <issueManagementSystems> |
| <issueManagementSystem>changes.xml</issueManagementSystem> |
| <issueManagementSystem>JIRA</issueManagementSystem> |
| </issueManagementSystems> |
| ... |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| ... |
| </project> |
| ------------------- |
| |
| This is how you send an email with the generated announcement: |
| |
| ------------------- |
| mvn changes:announcement-mail |
| ------------------- |