Robert Scholte created MNG-7194:
-----------------------------------
Summary: PluginParameterExpressionEvaluator incorrectly
interpolates unknown subexpression
Key: MNG-7194
URL: https://issues.apache.org/jira/browse/MNG-7194
Project: Maven
Issue Type: Bug
Components: Inheritance and Interpolation
Reporter: Robert Scholte
The PluginParameterExpressionEvaluator evaluate(String,Class)-method ends like
this:
{code:java}
if ( value instanceof String )
{
// TODO: without #, this could just be an evaluate call...
String val = (String) value;
int exprStartDelimiter = val.indexOf( "${" );
if ( exprStartDelimiter >= 0 )
{
if ( exprStartDelimiter > 0 )
{
value = val.substring( 0, exprStartDelimiter ) + evaluate(
val.substring( exprStartDelimiter ) );
}
else
{
value = evaluate( val.substring( exprStartDelimiter ) );
}
}
}
{code}
Assume that pre${unknown} needs to be evaluated and {{unknown}} does not exist,
the result well be "{{prenull}}"
Just ${unknown} evaluates to null, but because there's no String concat it will
be a real null.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)