You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2012/06/24 10:36:59 UTC

svn commit: r1353231 - in /maven/plugin-tools/trunk: maven-plugin-plugin/src/it/java-basic-annotations/ maven-plugin-plugin/src/it/java-basic/ maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/ maven-plugin-tools-ja...

Author: hboutemy
Date: Sun Jun 24 08:36:58 2012
New Revision: 1353231

URL: http://svn.apache.org/viewvc?rev=1353231&view=rev
Log:
[MPLUGIN-214] fixed description generated by Maven objects marked as component (required=true and no implementation, and since+deprecated for tags)

Modified:
    maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy
    maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic/verify.groovy
    maven/plugin-tools/trunk/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
    maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java

Modified: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy?rev=1353231&r1=1353230&r2=1353231&view=diff
==============================================================================
--- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy (original)
+++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy Sun Jun 24 08:36:58 2012
@@ -83,7 +83,7 @@ assert parameter.name.text() == 'mojo'
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.plugin.MojoExecution'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -92,7 +92,7 @@ assert parameter.name.text() == 'plugin'
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.plugin.descriptor.PluginDescriptor'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -101,7 +101,7 @@ assert parameter.name.text() == 'project
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.project.MavenProject'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -110,7 +110,7 @@ assert parameter.name.text() == 'session
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.execution.MavenSession'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -119,7 +119,7 @@ assert parameter.name.text() == 'setting
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.settings.Settings'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 

Modified: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic/verify.groovy?rev=1353231&r1=1353230&r2=1353231&view=diff
==============================================================================
--- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic/verify.groovy (original)
+++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/java-basic/verify.groovy Sun Jun 24 08:36:58 2012
@@ -83,7 +83,7 @@ assert parameter.name.text() == 'mojo'
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.plugin.MojoExecution'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -92,7 +92,7 @@ assert parameter.name.text() == 'plugin'
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.plugin.descriptor.PluginDescriptor'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -101,7 +101,7 @@ assert parameter.name.text() == 'project
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.project.MavenProject'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -110,7 +110,7 @@ assert parameter.name.text() == 'session
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.execution.MavenSession'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 
@@ -119,7 +119,7 @@ assert parameter.name.text() == 'setting
 assert parameter.alias.isEmpty()
 assert parameter.type.text() == 'org.apache.maven.settings.Settings'
 assert parameter.deprecated.isEmpty()
-assert parameter.required.text() == 'false'
+assert parameter.required.text() == 'true'
 assert parameter.editable.text() == 'false'
 assert parameter.description.text() == ''
 

Modified: maven/plugin-tools/trunk/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java?rev=1353231&r1=1353230&r2=1353231&view=diff
==============================================================================
--- maven/plugin-tools/trunk/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java (original)
+++ maven/plugin-tools/trunk/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java Sun Jun 24 08:36:58 2012
@@ -534,6 +534,7 @@ public class JavaAnnotationsMojoDescript
 
             mojoDescriptor.setPhase( mojo.defaultPhase().id() );
 
+            // Parameter annotations
             Map<String, ParameterAnnotationContent> parameters =
                 getParametersParentHierarchy( mojoAnnotatedClass, new HashMap<String, ParameterAnnotationContent>(),
                                               mojoAnnotatedClasses );
@@ -565,6 +566,7 @@ public class JavaAnnotationsMojoDescript
                 mojoDescriptor.addParameter( parameter );
             }
 
+            // Component annotations
             Map<String, ComponentAnnotationContent> components =
                 getComponentsParentHierarchy( mojoAnnotatedClass, new HashMap<String, ComponentAnnotationContent>(),
                                               mojoAnnotatedClasses );
@@ -576,17 +578,20 @@ public class JavaAnnotationsMojoDescript
                     new org.apache.maven.plugin.descriptor.Parameter();
                 parameter.setName( componentAnnotationContent.getFieldName() );
 
+                // recognize Maven-injected objects as components annotations instead of parameters
                 String expression = PluginUtils.MAVEN_COMPONENTS.get( componentAnnotationContent.getRoleClassName() );
                 if ( expression == null )
                 {
+                    // normal component
                     parameter.setRequirement( new Requirement( componentAnnotationContent.getRoleClassName(),
                                                                componentAnnotationContent.hint() ) );
                 }
                 else
                 {
+                    // not a component but a Maven object to be transformed into an expression/property
                     parameter.setDefaultValue( expression );
-                    parameter.setImplementation( componentAnnotationContent.getRoleClassName() );
                     parameter.setType( componentAnnotationContent.getRoleClassName() );
+                    parameter.setRequired( true );
                 }
                 parameter.setDeprecated( componentAnnotationContent.getDeprecated() );
                 parameter.setSince( componentAnnotationContent.getSince() );
@@ -594,6 +599,7 @@ public class JavaAnnotationsMojoDescript
                 // same behaviour as JavaMojoDescriptorExtractor
                 //parameter.setRequired( ... );
                 parameter.setEditable( false );
+
                 mojoDescriptor.addParameter( parameter );
             }
 

Modified: maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java?rev=1353231&r1=1353230&r2=1353231&view=diff
==============================================================================
--- maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java (original)
+++ maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java Sun Jun 24 08:36:58 2012
@@ -496,10 +496,24 @@ public class JavaMojoDescriptorExtractor
 
             pd.setDescription( field.getComment() );
 
+            DocletTag deprecationTag = field.getTagByName( JavaMojoAnnotation.DEPRECATED );
+
+            if ( deprecationTag != null )
+            {
+                pd.setDeprecated( deprecationTag.getValue() );
+            }
+
+            DocletTag sinceTag = field.getTagByName( JavaMojoAnnotation.SINCE );
+            if ( sinceTag != null )
+            {
+                pd.setSince( sinceTag.getValue() );
+            }
+
             DocletTag componentTag = field.getTagByName( JavaMojoAnnotation.COMPONENT );
 
             if ( componentTag != null )
             {
+                // Component tag
                 String role = componentTag.getNamedParameter( JavaMojoAnnotation.COMPONENT_ROLE );
 
                 if ( role == null )
@@ -515,17 +529,20 @@ public class JavaMojoDescriptorExtractor
                     roleHint = componentTag.getNamedParameter( "role-hint" );
                 }
 
+                // recognize Maven-injected objects as components annotations instead of parameters
                 String expression = PluginUtils.MAVEN_COMPONENTS.get( role );
 
                 if ( expression == null )
                 {
+                    // normal component
                     pd.setRequirement( new Requirement( role, roleHint ) );
                 }
                 else
                 {
+                    // not a component but a Maven object to be transformed into an expression/property
                     pd.setDefaultValue( expression );
-                    pd.setImplementation( role );
                     pd.setType( role );
+                    pd.setRequired( true );
                 }
 
                 pd.setEditable( false );
@@ -535,25 +552,13 @@ public class JavaMojoDescriptorExtractor
             }
             else
             {
+                // Parameter tag
                 DocletTag parameter = field.getTagByName( JavaMojoAnnotation.PARAMETER );
 
                 pd.setRequired( field.getTagByName( JavaMojoAnnotation.REQUIRED ) != null );
 
                 pd.setEditable( field.getTagByName( JavaMojoAnnotation.READONLY ) == null );
 
-                DocletTag deprecationTag = field.getTagByName( JavaMojoAnnotation.DEPRECATED );
-
-                if ( deprecationTag != null )
-                {
-                    pd.setDeprecated( deprecationTag.getValue() );
-                }
-
-                DocletTag sinceTag = field.getTagByName( JavaMojoAnnotation.SINCE );
-                if ( sinceTag != null )
-                {
-                    pd.setSince( sinceTag.getValue() );
-                }
-
                 String alias = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_ALIAS );
 
                 if ( !StringUtils.isEmpty( alias ) )