[MPLUGIN-214] fixed description generated by Maven objects marked as component (required=true and no implementation, and since+deprecated for tags)
git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1353231 13f79535-47bb-0310-9956-ffa450edef68master
parent
2bf4bff377
commit
1c9a253347
|
|
@ -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() == 'settings'
|
|||
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() == ''
|
||||
|
||||
|
|
|
|||
|
|
@ -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() == 'settings'
|
|||
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() == ''
|
||||
|
||||
|
|
|
|||
|
|
@ -534,6 +534,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|||
|
||||
mojoDescriptor.setPhase( mojo.defaultPhase().id() );
|
||||
|
||||
// Parameter annotations
|
||||
Map<String, ParameterAnnotationContent> parameters =
|
||||
getParametersParentHierarchy( mojoAnnotatedClass, new HashMap<String, ParameterAnnotationContent>(),
|
||||
mojoAnnotatedClasses );
|
||||
|
|
@ -565,6 +566,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|||
mojoDescriptor.addParameter( parameter );
|
||||
}
|
||||
|
||||
// Component annotations
|
||||
Map<String, ComponentAnnotationContent> components =
|
||||
getComponentsParentHierarchy( mojoAnnotatedClass, new HashMap<String, ComponentAnnotationContent>(),
|
||||
mojoAnnotatedClasses );
|
||||
|
|
@ -576,17 +578,20 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|||
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 JavaAnnotationsMojoDescriptorExtractor
|
|||
// same behaviour as JavaMojoDescriptorExtractor
|
||||
//parameter.setRequired( ... );
|
||||
parameter.setEditable( false );
|
||||
|
||||
mojoDescriptor.addParameter( parameter );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 ) )
|
||||
|
|
|
|||
Loading…
Reference in New Issue