You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Christian Ziech (JIRA)" <ji...@codehaus.org> on 2008/07/16 14:25:27 UTC

[jira] Commented: (MNG-1823) dependencies with classifier mask transitive dependencies of same dependency without classifier

    [ http://jira.codehaus.org/browse/MNG-1823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=141997#action_141997 ] 

Christian Ziech commented on MNG-1823:
--------------------------------------

We have the same problem as the Creator - I had a look at the maven source already and the problem seems to be that in the DefaultPluginManager.checkMissingArtifactsInReactor() method the dependencies resolved from the reactor are put in a HashSet - in the described case we have two dependencies for the same project. One for the main jar and one for the tests jar. Since both reference the same project this will result in only one entry being in the HashSet. 
Therefor the method return value indicates that not all dependencies could be resolved, which is wrong in that case.

> dependencies with classifier mask transitive dependencies of same dependency without classifier
> -----------------------------------------------------------------------------------------------
>
>                 Key: MNG-1823
>                 URL: http://jira.codehaus.org/browse/MNG-1823
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>    Affects Versions: 2.0.1
>            Reporter: Jorg Heymans
>             Fix For: 2.1
>
>
> A module in cocoon has following dependencies : 
>    <dependency>
>       <groupId>org.apache.cocoon</groupId>
>       <artifactId>cocoon-core</artifactId>
>       <version>2.2.0-SNAPSHOT</version>
>       <classifier>tests</classifier>
>       <scope>test</scope>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.cocoon</groupId>
>       <artifactId>cocoon-core</artifactId>
>       <version>2.2.0-SNAPSHOT</version>
>     </dependency>
> The first dependency is created by the core module using :
>       <plugin>
>         <artifactId>maven-jar-plugin</artifactId>
>         <executions>
>           <execution>
>             <goals>
>               <goal>test-jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
> Now i would like the module to depend on the jar with classifier "tests" during the testing phase ie cocoon-core-2.2.0-SNAPSHOT-tests.jar, and during the normal compilation phase it should just use cocoon-core-2.2.0-SNAPSHOT.jar. IMO above dependencies express exactly this.
> The problem is that maven somehow removes all transitive dependencies from  cocoon-core-2.2.0-SNAPSHOT.jar when both dependencies are in place, breaking compilation. When i remove the dependency with the classifier, then all is fine (but ofcourse my tests can't run)
> I hope above is clear, otherwise just ping me on irc

-- 
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