You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2018/05/21 12:32:21 UTC

[GitHub] hboutemy commented on issue #163: [MNG-6401] - Cannot interpolate property in proxy port of settings.xml

hboutemy commented on issue #163: [MNG-6401] - Cannot interpolate property in proxy port of settings.xml
URL: https://github.com/apache/maven/pull/163#issuecomment-390640786
 
 
   on String interpolation vs Object interpolation:
   String based interpolation was replaced by Object interpolation a few years ago (perhaps during the switch from Maven 2 to Maven 3, I need to get precise facts if necessary): I don't precisely know why (is Object interpolation more robust, against XML injection?)
   
   what I see in this precise case of proxy port interpolation: it's an int, then it's hard to do Object interpolation on "${param}" value once it has been transfrmed to a String...
   at least, this give us the good root cause: if we want interpolation with Object implementation, we need to change the field type to String
   
   I know that we have such a case with booleans, where we do not put the effective field type in the descriptor but String for more flexibility: in this boolean case, it was about inheritance, to make the difference between inheriting and overriding with a value.
   Then there is a hand-written getter to get the field as boolean (instead of the internal String)
   
   I don't know if we have such cases in Maven core with ints, but the previous pattern hand-writing a typed getter to int should do the job.
   
   Now what's the best solution for now:
   - switch back to String based interpolation instead of Object interpolation?
   - change the field from int to String and add the hand-written getter?
   
   at this time, I don't have strong opinion: I wanted to write and share the analysis.
   
   Now I need to dig into the reasons why we switched from String based interpolation to Object based: this is where we should find the best view on what issue could arise when getting back to former solution

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services