You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org> on 2008/11/29 18:39:20 UTC
[jira] Updated: (MNG-3380) MavenMetadataSource retrieves
ResolutionGroup without consulting ManagedVersionMap, is problem when
relocation
[ http://jira.codehaus.org/browse/MNG-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Bentmann updated MNG-3380:
-----------------------------------
Description:
Consider the following scenario:
{code:xml}
<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>
{code}
{code:xml}
<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>
{code}
{code:xml}
<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>
{code}
{code:xml}
<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>
{code}
{code:xml}
<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>
{code}
{noformat}
--------------------------------------------------------------
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
--------------------------------------------------------------
{noformat}
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
was:
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
> 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
> Assignee: John Casey
> Fix For: 2.0.10, 2.1.0-M1
>
> Attachments: MNG-3380-integration-test.zip, MNG-3380-maven-artifact.patch, patch.txt, repo.zip
>
>
> Consider the following scenario:
> {code:xml}
> <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>
> {code}
> {code:xml}
> <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>
> {code}
> {code:xml}
> <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>
> {code}
> {code:xml}
> <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>
> {code}
> {code:xml}
> <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>
> {code}
> {noformat}
> --------------------------------------------------------------
> 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
> --------------------------------------------------------------
> {noformat}
> 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