[
https://jira.codehaus.org/browse/MNG-4715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=351660#comment-351660
]
Esteban Porcelli commented on MNG-4715:
---------------------------------------
We have several big modules/repositories with many branches. Per repository we
have one parent pom and 50+ children poms.
This is for a large JEE project (1 million lines of code) that it is delivered
to several different clients.
We need to create feature branches, bug fixes, integration branches, release
branches etc. We have many versions of the same application deployed to
different production environments.
Every time a new branch is created, the version tag in the parent pom and all
children poms need to be updated (versions plugin helps).
When these branches need to be merged all these poms cause conflicts and they
need to be manually resolved, because some times there are other changes in the
poms besides just the version change. It is a major problem for us.
We need to change the version on every branch because we have a continuous
integration server that builds every branch and runs regression tests against
every branch, therefore the versions must be different per branch.
Being able to keep the new version isolated to one file (the parent pom) really
makes sense here. (Child pom inherits version from parent property)
The continuous delivery solution discussed in this issue would not work for us.
We need to use SNAPSHOTS as we cannot have every developer build the whole
system. Developers need to use artifacts built by Jenkins for their feature
branch and they cannot be changing to the last build version they depend on
every time a new development build is created.
I hope this scenario pushes the maven team to consider this issue more
seriously. This issue and other similar issues have been around for many many
years.
> version expression constant
> ---------------------------
>
> Key: MNG-4715
> URL: https://jira.codehaus.org/browse/MNG-4715
> Project: Maven
> Issue Type: Improvement
> Components: Dependencies, POM
> Affects Versions: 3.0-alpha-6, 3.0-alpha-7, 3.0-beta-1
> Environment: eclipse linux xp
> Reporter: Faruk
> Assignee: Jason van Zyl
> Priority: Critical
> Fix For: 3.2.4
>
> Attachments: untitled.JPG
>
>
> early versions, we define modules versions with expressions, and set them to
> the parent pom,
> simply;
> {code:xml}
> <properties>
> <ibb-core-cache.version>1.0.1</ibb-core-cache.version>
> <ibb-core-util.version>1.0.1</ibb-core-util.version>
> </properties>
> {code}
> and then, we give this property to modules pom as expression ,
> {code:xml}
> <name>ik-plug</name>
> <packaging>jar</packaging>
> <version>${ibb-core-util.versionn}</version>
> {code}
> but know , it gives an error you know like this,
> {noformat}
> [WARNING] Some problems were encountered while building the effective model
> for ibb-parent:ibb-modules-parent:pom:1.0.0
> [WARNING] 'version' contains an expression but should be a constant. @
> ibb-parent:ibb-modules-parent:${ibb-core-jars.version},
> C:\dev\ibb\workspace\core\ibb-modules-parent\pom.xml
> {noformat}
> but I think that, this enhancement is causes wrong result,
> think that , if we have i project already developing about 3 years, this
> project has a lot of modules, and this modules have sub modules , and this
> sub modules already bound to some other modules not define in your pom, but
> your updates must be affect them, at this situation, developer want to write
> the existing version numbers with properties to parent pom, and want to
> manage them like this. at the attach file below , the close projects are
> belongs to open projects, but they are the different team developing this. I
> cant force the other developers to cache their versions, I must use this
> versions as initial step
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)