[
https://issues.apache.org/jira/browse/MNG-5900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15222486#comment-15222486
]
Christian Schulte edited comment on MNG-5900 at 4/1/16 10:59 PM:
-----------------------------------------------------------------
I would expect {{this}} to reference the effective model the same way the Java
{{this}} keyword references the "effective" object.
??{{this}} has been the best name so far??
I think {{final}} would be the matching Java keyword with comparable semantics.
There already is an issue filed requesting to add {{final}} and {{override}}
attributes to all POM elements to control inheritance processing. We already
have {{combine.children}} etc. attributes so maybe we just add {{final}} and
{{override}} attributes the same way and control property interpolation based
on the existence of those attributes?
So a parent pom.xml could declare
{code}
<url final="true">${immediate.interpolation.due.to.final}</url>
{code}
was (Author: schulte77):
I would expect {{this}} to reference the effective model the same way the Java
{{this}} keyword references the "effective" object.
??{{this}} has been the best name so far??
I think {{final}} would be the matching Java keyword with comparable semantics.
There already is an issue filed requesting to add {{final}} and {{override}}
attributes to all POM elements to control inheritance processing. We already
have {{combine.children}} etc. attributes so maybe we just add {{final}} and
{{override}} attributes the same way and control property inteprolation based
on the existence of those attributes?
So a parent pom.xml could declare
{code}
<url final="true">${immediate.interpolation.due.to.final}</url>
{code}
> early interpolation: support ${this.*} as expression
> ----------------------------------------------------
>
> Key: MNG-5900
> URL: https://issues.apache.org/jira/browse/MNG-5900
> Project: Maven
> Issue Type: New Feature
> Components: Inheritance and Interpolation
> Reporter: Robert Scholte
> Fix For: Issues to be reviewed for 4.x
>
>
> Right now we have $\{project.\*} which always interpolates values based on
> the final project: "classical" interpolation is "late" interpolation. So it
> is not possible that parent poms can lock values, ie avoid child poms
> override. By adding $\{this} for "early" interpolation, it will be possible
> to have intermediate interpolation.
> If a pomfile depends on a parent, that parent will first resolve all
> $\{this.\*} values for itself. Once the fully inherited pom is there, all
> $\{project.\*} will be resolved.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)