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

Elek, Marton commented on HADOOP-15369:
---------------------------------------

One trivial fix is using 3.2.0-SNAPSHOT (hard-coded version) everywhere. 
Unfortunatelly the versions:set maven plugin/goal can't replace the hard-coded 
version everywhere. It could handle the versions in the dependencyManagement 
section but not in the dependencies of maven plugins.

To make it easier to create the releases I propose to introduce a new maven 
property with the hard coded version. (3.2.0-SNAPSHOT currently). It will solve 
the problem as the value of this property is independent from the current 
${project.version}. 

The only inconvenience is that the hadoop.version property should be changed 
after the mvn versions:set call for every release. I added a new enforcment 
plugin execution to be sure it's done.  

Patch will be uploaded soon.

> Avoid usage of ${project.version} in parent poms
> ------------------------------------------------
>
>                 Key: HADOOP-15369
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15369
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 3.2.0
>            Reporter: Elek, Marton
>            Assignee: Elek, Marton
>            Priority: Major
>
> hadoop-project/pom.xml and hadoop-project-dist/pom.xml use 
> _${project.version}_ variable in dependencyManagement and plugin dependencies.
> Unfortunatelly it could not work if we use different version in a child 
> project as ${project.version} variable is resolved *after* the inheritance.
> From [maven 
> doc|https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance]:
> {quote}
> For example, to access the project.version variable, you would reference it 
> like so:
>       <version>${project.version}</version>
> One factor to note is that these variables are processed after inheritance as 
> outlined above. This means that if a parent project uses a variable, then its 
> definition in the child, not the parent, will be the one eventually used.
> {quote}
> The community voted to keep ozone in-tree but use a different release cycle. 
> To achieve this we need different version for selected subproject therefor we 
> can't use ${project.version} any more. 
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to