MavenMetadataSource retrieves ResolutionGroup without consulting
ManagedVersionMap, is problem when relocation
--------------------------------------------------------------------------------------------------------------
Key: MNG-3380
URL: http://jira.codehaus.org/browse/MNG-3380
Project: Maven 2
Issue Type: Bug
Components: Dependencies
Affects Versions: 2.0.8
Reporter: luke w patterson
Attachments: patch.txt, repo.zip
Consider the following scenario:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>root-groupId</groupId>
<artifactId>root-artifactId</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>direct-dependency-groupId</groupId>
<artifactId>direct-dependency-artifactId</artifactId>
<version>1</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>transitive-dependency-new-groupId</groupId>
<artifactId>transitive-dependency-artifactId</artifactId>
<version>2</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>direct-dependency-groupId</groupId>
<artifactId>direct-dependency-artifactId</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>transitive-dependency-old-groupId</groupId>
<artifactId>transitive-dependency-artifactId</artifactId>
<version>1</version>
</dependency>
</dependencies>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>transitive-dependency-old-groupId</groupId>
<artifactId>transitive-dependency-artifactId</artifactId>
<version>1</version>
<distributionManagement>
<relocation>
<groupId>transitive-dependency-new-groupId</groupId>
</relocation>
</distributionManagement>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>transitive-dependency-new-groupId</groupId>
<artifactId>transitive-dependency-artifactId</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>other-groupId</groupId>
<artifactId>other-artifactId-a</artifactId>
<version>1</version>
</dependency>
</dependencies>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>transitive-dependency-new-groupId</groupId>
<artifactId>transitive-dependency-artifactId</artifactId>
<version>2</version>
<dependencies>
<dependency>
<groupId>other-groupId</groupId>
<artifactId>other-artifactId-a</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>other-groupId</groupId>
<artifactId>other-artifactId-b</artifactId>
<version>1</version>
</dependency>
</dependencies>
</project>
--------------------------------------------------------------
actual dependency:tree
root-groupId:root-artifactId:jar:1
\- direct-dependency-groupId:direct-dependency-artifactId:jar:1:compile
\-
transitive-dependency-new-groupId:transitive-dependency-artifactId:jar:2:compile
(version managed from 1)
\- other-groupId:other-artifactId-a:jar:1:compile
--------------------------------------------------------------
expected dependency:tree
root-groupId:root-artifactId:jar:1
\- direct-dependency-groupId:direct-dependency-artifactId:jar:1:compile
\-
transitive-dependency-new-groupId:transitive-dependency-artifactId:jar:2:compile
(version managed from 1)
\- other-groupId:other-artifactId-a:jar:1:compile
\- other-groupId:other-artifactId-b:jar:1:compile <-- missing from
actual result
--------------------------------------------------------------
As you can see from the listing above,
other-groupId:other-artifactId-b:jar:1:compile is missing from the dependency
list.
I have attached the zipped repo which was used when generating the
dependency:tree listings shown above. I also attached a crude temporary patch
which my team is currently using to resolve this issue. After ignoring
whitespace changes, it is about 10 lines different.
Thanks,
Luke
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira