[MPLUGIN-201] added "User Property" to the parameter description report to clearly show the property that can be used to override default value of a parameter

git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1340805 13f79535-47bb-0310-9956-ffa450edef68
master
Herve Boutemy 2012-05-20 19:16:01 +00:00
parent 1b2f9288b2
commit eada36d538
3 changed files with 37 additions and 8 deletions

View File

@ -462,7 +462,8 @@ public class PluginXdocGenerator
*/
private void writeGoalParameterTable( MojoDescriptor mojoDescriptor, XMLWriter w )
{
@SuppressWarnings( "unchecked" ) List<Parameter> parameterList = mojoDescriptor.getParameters();
@SuppressWarnings( "unchecked" )
List<Parameter> parameterList = mojoDescriptor.getParameters();
//remove components and read-only parameters
List<Parameter> list = filterParameters( parameterList );
@ -608,16 +609,14 @@ public class PluginXdocGenerator
addedUl = true;
}
String expression = parameter.getExpression();
if ( StringUtils.isNotEmpty( expression ) && expression.startsWith( "${" ) && expression.endsWith( "}" )
&& !expression.substring( 2 ).contains( "${" ) )
String property = getPropertyFromExpression( expression );
if ( property == null )
{
// expression="${xxx}" -> property="xxx"
String property = expression.substring( 2, expression.length() - 1 );
writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.property" ), property, w );
writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.expression" ), expression, w );
}
else
{
writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.expression" ), parameter.getExpression(), w );
writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.property" ), property, w );
}
if ( !addedUl && StringUtils.isNotEmpty( parameter.getDefaultValue() ) )
@ -642,6 +641,18 @@ public class PluginXdocGenerator
w.endElement();
}
private String getPropertyFromExpression( String expression )
{
if ( StringUtils.isNotEmpty( expression ) && expression.startsWith( "${" ) && expression.endsWith( "}" )
&& !expression.substring( 2 ).contains( "${" ) )
{
// expression="${xxx}" -> property="xxx"
return expression.substring( 2, expression.length() - 1 );
}
// no property can be extracted
return null;
}
/**
* @param param not null
* @param value could be null
@ -712,13 +723,19 @@ public class PluginXdocGenerator
for ( Parameter parameter : parameterList )
{
w.startElement( "tr" );
// name
w.startElement( "td" );
w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.name_link", parameter.getName() ) );
w.endElement(); //td
//type
w.startElement( "td" );
int index = parameter.getType().lastIndexOf( "." );
w.writeMarkup( "<code>" + parameter.getType().substring( index + 1 ) + "</code>" );
w.endElement(); //td
// since
w.startElement( "td" );
if ( StringUtils.isNotEmpty( parameter.getSince() ) )
{
@ -736,6 +753,8 @@ public class PluginXdocGenerator
}
}
w.endElement(); //td
// description
w.startElement( "td" );
String description;
if ( StringUtils.isNotEmpty( parameter.getDeprecated() ) )
@ -757,7 +776,15 @@ public class PluginXdocGenerator
{
w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.defaultValue",
escapeXml( parameter.getDefaultValue() ) ) );
w.writeMarkup( "<br/>" );
}
String property = getPropertyFromExpression( parameter.getExpression() );
if ( property != null )
{
w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.property.description", property ) );
}
w.endElement(); //td
w.endElement(); //tr
}

View File

@ -50,6 +50,7 @@ pluginxdoc.mojodescriptor.parameter.since=Since
pluginxdoc.mojodescriptor.parameter.required=Required
pluginxdoc.mojodescriptor.parameter.expression=Expression
pluginxdoc.mojodescriptor.parameter.property=User Property
pluginxdoc.mojodescriptor.parameter.property.description=<strong>User property is</strong>: <code>{0}</code>.
pluginxdoc.mojodescriptor.parameter.default=Default
pluginxdoc.mojodescriptor.parameter.defaultValue=<strong>Default value is</strong>: <code>{0}</code>.
pluginxdoc.mojodescriptor.requiredParameters=Required Parameters

View File

@ -49,8 +49,9 @@ pluginxdoc.mojodescriptor.parameter.since=Depuis
pluginxdoc.mojodescriptor.parameter.required=Exig\u00e9
pluginxdoc.mojodescriptor.parameter.expression=Expression
pluginxdoc.mojodescriptor.parameter.property=Propri\u00e9t\u00e9 utilisateur
pluginxdoc.mojodescriptor.parameter.property.description=<strong>Propri\u00e9t\u00e9 utilisateur</strong> : <code>{0}</code>.
pluginxdoc.mojodescriptor.parameter.default=D\u00e9faut
pluginxdoc.mojodescriptor.parameter.defaultValue=<strong>Valeur par d\u00e9faut est</strong> : <code>{0}</code>.
pluginxdoc.mojodescriptor.parameter.defaultValue=<strong>Valeur par d\u00e9faut</strong> : <code>{0}</code>.
pluginxdoc.mojodescriptor.requiredParameters=Param\u00e8tres requis
pluginxdoc.mojodescriptor.optionalParameters=Param\u00e8tres optionnels
pluginxdoc.mojodescriptor.parameters=Param\u00e8tres