Author: bentmann
Date: Sat Dec 18 00:46:38 2010
New Revision: 1050558

URL: http://svn.apache.org/viewvc?rev=1050558&view=rev
Log:
[MPLUGIN-176] helpmojo: Use Java 5 generics in generated help mojo

Modified:
    
maven/plugin-tools/trunk/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
    
maven/plugin-tools/trunk/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java

Modified: 
maven/plugin-tools/trunk/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java?rev=1050558&r1=1050557&r2=1050558&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
 Sat Dec 18 00:46:38 2010
@@ -53,6 +53,14 @@ public class HelpGeneratorMojo
      */
     private String helpPackageName;
 
+    /**
+     * Generate Java 5 sources.
+     *
+     * @parameter expression="${useJava5}" default-value="false"
+     * @since 2.7
+     */
+    private boolean useJava5;
+
     /** {...@inheritdoc} */
     protected File getOutputDirectory()
     {
@@ -62,7 +70,7 @@ public class HelpGeneratorMojo
     /** {...@inheritdoc} */
     protected Generator createGenerator()
     {
-        return new PluginHelpGenerator().setHelpPackageName( helpPackageName );
+        return new PluginHelpGenerator().setHelpPackageName( helpPackageName 
).setUseJava5( useJava5 );
     }
 
     /** {...@inheritdoc} */

Modified: 
maven/plugin-tools/trunk/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java?rev=1050558&r1=1050557&r2=1050558&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
 Sat Dec 18 00:46:38 2010
@@ -66,6 +66,9 @@ public class PluginHelpGenerator
     private static final String HELP_GOAL = "help";
 
     private String helpPackageName;
+    
+    /** Flag to indicate if the generated help mojo should use Java 5 features 
*/
+    private boolean useJava5;
 
     /**
      * Default constructor
@@ -127,7 +130,7 @@ public class PluginHelpGenerator
         try
         {
             writer = new OutputStreamWriter( new FileOutputStream( helpClass 
), request.getEncoding() );
-            writeClass( writer, pluginDescriptor, helpDescriptor );
+            writeClass( writer, pluginDescriptor, helpDescriptor, useJava5 );
             writer.flush();
         }
         finally
@@ -142,6 +145,12 @@ public class PluginHelpGenerator
         return this;
     }
 
+    public PluginHelpGenerator setUseJava5( boolean useJava5 )
+    {
+        this.useJava5 = useJava5;
+        return this;
+    }
+
     // ----------------------------------------------------------------------
     // Private methods
     // ----------------------------------------------------------------------
@@ -278,9 +287,10 @@ public class PluginHelpGenerator
      * @param writer not null
      * @param pluginDescriptor not null
      * @param helpDescriptor not null
+     * @param useJava5 If the generated code should use Java5 features
      * @throws IOException if any
      */
-    private static void writeClass( Writer writer, PluginDescriptor 
pluginDescriptor, MojoDescriptor helpDescriptor )
+    private static void writeClass( Writer writer, PluginDescriptor 
pluginDescriptor, MojoDescriptor helpDescriptor, boolean useJava5 )
         throws IOException
     {
         String packageName = "";
@@ -303,6 +313,11 @@ public class PluginHelpGenerator
 
         writeMojoJavadoc( writer, pluginDescriptor, helpDescriptor );
 
+        if ( useJava5 )
+        {
+            writer.write( "@SuppressWarnings( \"all\" )" + LS );
+        }
+
         writer.write( "public class " + simpleName + LS );
         writer.write( "    extends AbstractMojo" + LS );
         writer.write( "{" + LS );


Reply via email to