[ 
https://issues.apache.org/jira/browse/MNG-5900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15720034#comment-15720034
 ] 

Florian Schaetz commented on MNG-5900:
--------------------------------------

Personally, I stumbled upon the issue when trying to retrieve the "grandparent" 
version, since {code}${project.parent.parent.version}{code} doesn't work 
(anymore?).

Let's assume I have a parent project, let's call it "example-parent" with 
version "0.0.1-SNAPSHOT". There I set a property...

{code}
<properties>
   <example.parent.version>${project.version}</example.parent.version>
</properties>{code}

No surprise there, the effective pom shows me that example-parent has the 
property example.parent.version=0.0.1-SNAPSHOT

Then I make a new project, let's call it "example-child" which has 
"example-parent" as a parent. Let's give example-child now version 
0.0.2-SNAPSHOT and the effective pom of example-child shows us...

{code}
<properties>
   <example.parent.version>0.0.2-SNAPSHOT</example.parent.version>
</properties>{code}

...because the {code}${project.version}{code} now is resolved by calling the 
example-child's version. And the information that was stored in the property is 
effectively overwritten. 

> 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)

Reply via email to