[
https://issues.apache.org/jira/browse/MNG-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17386830#comment-17386830
]
Robert Scholte commented on MNG-7194:
-------------------------------------
I think in this case that makes sense. I'm wondering if there's a case where
you need to keep it as unresolved, so it'll stay pre${unknown}, (but also for
${unknown})
> 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
> Priority: Minor
>
> 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)