maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon White (JIRA)" <>
Subject [jira] (MNG-4715) version expression constant
Date Sun, 22 Feb 2015 09:17:24 GMT


Brandon White commented on MNG-4715:

Prior comments on this bug report from Chris Price, Axel Fontaine, Don Brown, Nicolas Grobisa,
Cameron Rochester, and Esteban Porcelli describe the same challenges that we experience in
our own environment so I won't repeat them here.  

To mitigate the issues we encountered in our own continuous integration-based development
landscape, we implemented a solution that is based on Axel Fontaine's suggestions from
 There are a number of rough edges with our implementation, particularly for install/deploy,
but it has enabled us to centralize our version management in a small number of POMs instead
of replicating the version in every POM.  Our implementation continues to work with maven
versions 3.1.1 up to 3.2.5 but we remain concerned that a subsequent maven release will break
some of the admittedly fragile hacks that we have introduced.

Even if supporting expressions in version fields is the wrong approach according to the core
Maven team, it would be really nice if Maven could provide some sort of official solution
that allows version metadata to be injected into the POM from outside.

Part of Nicolas Grobisa's comment from 2012 nails this point well:  

"The essence of the problem comes from Maven wanting to do everything. In some ways, it is
analog to storing the SCM URL inside the POM. For many reasons and in different scenarios,
some of the POM information should be kept outside the POM, or at least provide the flexibility
for users to do it one way or the other."

> version expression constant
> ---------------------------
>                 Key: MNG-4715
>                 URL:
>             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.6
>         Attachments: untitled.JPG
> early versions, we define modules versions with expressions, and set them to the parent
> 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},
> {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

View raw message