Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: maven-archiver
-
Labels:None
-
Number of attachments :
Description
If you have a version range for one of your dependencies, then the exported POM (the one that's placed in the repository and in the jar itself) will still have a range there. This seems at odds with (one) point of exporting a POM, which is to have all the information you need to reconstruct the state of a build at a particular moment in time. Without knowing which version number was chosen, you can't be sure you're reconstructing the same build later.
It also seems to be at odds with the behavior elsewhere in this exported artifact: the plugins section shows the actual version number used, and active profiles are quietly merged into the main POM.
Have the same issue with with some values not evaluated in the dependency part of the exported pom, using a profile like the one below the determine a version number in dependencies.
<profile>
<id>developer</id>
<properties>
<version.qualifier>DEV-20060709</version.qualifier>
</properties>
</profile>
<dependency>
{version.qualifier}<groupId>some.group</groupId>
<artifactId>fnord</artifactId>
<version>0.1.0-$
</version>
</dependency>
Evaluates correctly during build but the exported pom contains the same version string as above unevaluated.