[ 
http://jira.codehaus.org/browse/MNG-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_122812
 ] 

luke w patterson commented on MNG-3380:
---------------------------------------

Wojciech,

Is this the scenario you are describing?

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>parent-groupId</groupId>
  <artifactId>parent-artifactId</artifactId>
  <version>1</version>
  <packaging>pom</packaging>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.6.2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>

  <project>
    <parent>
      <groupId>parent-groupId</groupId>
      <artifactId>parent-artifactId</artifactId>
      <version>1</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>child-artifactId</artifactId>
    <dependencies>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
      </dependency>
      <dependency>
        <groupId>groovy</groupId>
        <artifactId>groovy</artifactId>
        <version>1.0</version>
      </dependency>
    </dependencies>
  </project>
  
If so, 2.0.8 seemed to handle it correctly:

 [dependency:tree]
 parent-groupId:child-artifactId:jar:1
 +- xerces:xercesImpl:jar:2.6.2:compile
 \- groovy:groovy:jar:1.0:compile
    +- antlr:antlr:jar:2.7.5:compile
    +- asm:asm:jar:2.2:compile
    +- (xerces:xercesImpl:jar:2.6.2:compile - version managed from 2.4.0; 
omitted for duplicate)
    +- xml-apis:xml-apis:jar:1.0.b2:compile
    +- commons-cli:commons-cli:jar:1.0:compile
    |  +- (commons-logging:commons-logging:jar:1.0:compile - omitted for 
conflict with 1.0.4)
    |  \- commons-lang:commons-lang:jar:1.0:compile
    |     \- (junit:junit:jar:3.7:compile - omitted for conflict with 3.8.2)
    +- ant:ant:jar:1.6.5:compile
    +- ant:ant-junit:jar:1.6.5:compile
    +- ant:ant-launcher:jar:1.6.5:compile
    +- junit:junit:jar:3.8.2:compile
    +- jmock:jmock:jar:1.1.0:compile
    |  \- (junit:junit:jar:3.8.1:compile - omitted for conflict with 3.8.2)
    +- jmock:jmock-cglib:jar:1.1.0:compile
    |  +- (jmock:jmock:jar:1.1.0:compile - omitted for duplicate)
    |  \- cglib:cglib-full:jar:2.0:compile
    +- cglib:cglib-nodep:jar:2.1_3:compile
    +- asm:asm-util:jar:2.2:compile
    +- asm:asm-attrs:jar:2.2:compile
    +- asm:asm-analysis:jar:2.2:compile
    +- asm:asm-tree:jar:2.2:compile
    +- bsf:bsf:jar:2.4.0:compile
    |  \- (commons-logging:commons-logging:jar:1.0.4:compile - omitted for 
conflict with 1.0)
    +- mx4j:mx4j:jar:3.0.1:compile
    +- mockobjects:mockobjects-core:jar:0.09:compile
    +- openejb:openejb-loader:jar:1.0:compile
    |  +- openejb:openejb-core:jar:1.0:compile
    |  |  +- 
(org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:jar:1.0:compile - omitted 
for duplicate)
    |  |  +- (org.apache.geronimo.specs:geronimo-ejb_2.1_spec:jar:1.0:compile - 
omitted for duplicate)
    |  |  +- 
(org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.0:compile - 
omitted for duplicate)
    |  |  +- 
(org.apache.geronimo.specs:geronimo-servlet_2.4_spec:jar:1.0:compile - omitted 
for duplicate)
    |  |  +- (log4j:log4j:jar:1.2.8:compile - omitted for duplicate)
    |  |  +- 
backport-util-concurrent:backport-util-concurrent:jar:2.0_01_pd:compile
    |  |  +- (xerces:xercesImpl:jar:2.6.2:compile - version managed from 2.6.0; 
omitted for duplicate)
    |  |  +- (xml-apis:xml-apis:jar:1.0.b2:compile - omitted for duplicate)
    |  |  +- castor:castor:jar:0.9.9.0-pre:compile
    |  |  +- oro:oro:jar:2.0.8:compile
    |  |  +- (commons-logging:commons-logging:jar:1.0.3:compile - omitted for 
conflict with 1.0)
    |  |  \- idb:idb:jar:3.26:compile
    |  +- org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:jar:1.0:compile
    |  +- org.apache.geronimo.specs:geronimo-ejb_2.1_spec:jar:1.0:compile
    |  +- 
org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.0:compile
    |  +- org.apache.geronimo.specs:geronimo-servlet_2.4_spec:jar:1.0:compile
    |  \- log4j:log4j:jar:1.2.8:compile
    +- axion:axion:jar:1.0-M3-dev:compile
    |  +- (commons-collections:commons-collections:jar:3.0:compile - omitted 
for conflict with 3.2)
    |  +- (commons-primitives:commons-primitives:jar:1.0:compile - omitted for 
duplicate)
    |  +- (commons-logging:commons-logging:jar:1.0:compile - omitted for 
duplicate)
    |  +- commons-codec:commons-codec:jar:1.2:compile
    |  +- (junit:junit:jar:3.8.1:compile - omitted for conflict with 3.8.2)
    |  \- net.java.dev.javacc:javacc:jar:3.2:compile
    +- commons-logging:commons-logging:jar:1.0.4:compile
    +- commons-collections:commons-collections:jar:3.2:compile
    +- commons-primitives:commons-primitives:jar:1.0:compile
    +- regexp:regexp:jar:1.3:compile
    +- javax.servlet:servlet-api:jar:2.4:compile
    +- javax.servlet:jsp-api:jar:2.0:compile
    |  \- (javax.servlet:servlet-api:jar:2.4:compile - omitted for duplicate)
    +- radeox:radeox:jar:0.9:compile
    +- radeox:radeox-oro:jar:0.9:compile
    +- nekohtml:nekohtml:jar:0.9.5:compile
    |  \- (xerces:xercesImpl:jar:2.6.2:compile - version managed from 2.4.0; 
omitted for duplicate)
    +- qdox:qdox:jar:1.5:compile
    +- commons-httpclient:commons-httpclient:jar:3.0.1:compile
    |  +- (junit:junit:jar:3.8.1:compile - omitted for conflict with 3.8.2)
    |  +- (commons-logging:commons-logging:jar:1.0.3:compile - omitted for 
conflict with 1.0.4)
    |  \- (commons-codec:commons-codec:jar:1.2:compile - omitted for duplicate)
    +- com.thoughtworks.xstream:xstream:jar:1.2:compile
    |  \- xpp3:xpp3_min:jar:1.1.3.4.O:compile
    +- xpp3:xpp3:jar:1.1.3.4.O:compile
    \- com.tonicsystems:jarjar:jar:0.6:compile

    
Do you have a minimal example you can send me?  Can it be demonstrated via 
dependency:tree listings?

> 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: MNG-3380-maven-artifact.patch, 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

        

Reply via email to