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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to