[MCHANGES-134] Passing some extra parameters to the announce velocity context



git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@718415 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java b/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
index 40074a1..a8354bb 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
+++ b/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
@@ -26,6 +26,7 @@
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -283,8 +284,14 @@
      * @parameter expression="${changes.jiraMerge}" default-value="false"
      * @since 2.1
      */      
-    
     private boolean jiraMerge;
+    
+    /**
+     * Map which will be pass to the velocity context
+     * @parameter
+     * @since 2.1
+     */
+    private Map announceParameters;
 
     //=======================================//
     //    announcement-generate execution    //
@@ -377,6 +384,17 @@
             context.put( "urlDownload", getUrlDownload() );
             
             context.put( "project", project );
+            
+            if ( announceParameters == null )
+            {
+                // empty Map to prevent NPE in velocity execution
+                context.put( "announceParameters", Collections.EMPTY_MAP );
+            }
+            else
+            {
+                context.put( "announceParameters", announceParameters );
+            }
+            
 
             processTemplate( context, getOutputDirectory(), template );
         }