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

Paul Gier commented on MNG-3197:
--------------------------------


Yes, I agree that there should be a well defined order for dependencies in the 
classpath instead of the random order we have now.

The problem I experienced with depth-first ordering is that we had some 
transitive dependencies that were actually re-named older versions of direct 
dependencies.  In the example above, imagine that B1 is actually an older 
version of B2.  Now I'm going to be compiling against the older versions of the 
classes that are contained in B1 instead of the newer classes listed in my 
dependencies.

I can take care of this through using exclusions, but with a big dependency 
tree this can become pretty tedious.  If MNG-1977 was resolved it would be 
easier for me to do this exclusion.

I think it would be better to have a breadth first order in the edge case that 
two classes from different dependencies have the same fully qualified name.

> Direct dependencies should come before transitive dependencies in build 
> classpath.
> ----------------------------------------------------------------------------------
>
>                 Key: MNG-3197
>                 URL: http://jira.codehaus.org/browse/MNG-3197
>             Project: Maven 2
>          Issue Type: Improvement
>    Affects Versions: 2.0.7
>            Reporter: Paul Gier
>             Fix For: 2.0.x
>
>         Attachments: MNG-3197-maven-artifact-r574693.patch
>
>
> Currently the transitive dependencies appear to take priority over direct 
> dependencies in the compile and test classpaths.
> For example project A depends on B version 2 and C version 1:
> A -> B.2
> A -> C.1 -> B.1
> When the tests are run, the classpath will be in an order similar to:
> B.1:C.1:B.2
> Since B.1 comes first in the classpath, it will be used when running the 
> tests.  But it seems that B.2 should be used when testing because it has the 
> direct dependency.

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