[ http://jira.codehaus.org/browse/MNG-2962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_94101 ]
Geoffrey De Smet commented on MNG-2962: --------------------------------------- However, if we - instead of adding the false transitive dependences - removed the test-jar dependency it would also build on machine C (if test-compiling was disabled at least): <dependency> <groupId>${project.groupId}</groupId> <artifactId>atlas-spring</artifactId> <type>test-jar</type> </dependency> If m2.0.6 fixed the unrandomizing handling of "the dependency path resolution", how can the path differ between machines? It looks like a randomizing factor has crept into transitive dependencies combined with compile en test scope? > (False) transitive dependencies don't appear on the compiler classpath in > some windows environments since m2.0.6. > ----------------------------------------------------------------------------------------------------------------- > > Key: MNG-2962 > URL: http://jira.codehaus.org/browse/MNG-2962 > Project: Maven 2 > Issue Type: Bug > Components: Dependencies > Affects Versions: 2.0.6 > Environment: windows > Reporter: Geoffrey De Smet > Attachments: m2.0.6-failing-compile-machineC.log, > m2.0.6-working-compile-machineB.log > > > Since m2.0.6 builds that work perfectly on linux machine A and sometimes even > on a windows machine B, breaks on another windows machine C. > We have some "false transitive dependencies": transitive dependencies that > should be direct dependencies. > (We currently do this to avoid having to duplicate the version number as the > different projects don't have a common superpom.) > Making those dependencies direct dependencies fixes the problem with windows > machine C, but the real problem is that the guy on linux machine A should get > the problems too, before committing. > The compiler plugin version is locked down to 2.0.2, but are using maven > 2.0.6. This did not occur in maven 2.0.5. > Attached you'll find the "mvn -X install" logs of the 2 windows machines. > The log of machine C is specifically interesting, as it shows > "spring-beans:2.0.2" as a transitive dependency, yet it forgets it on the > classpath in the compiler plugin: > [DEBUG] Adding managed depedendencies for unknown:atlas-spring > ... > [DEBUG] org.springframework:spring-beans:jar:2.0.2:compile > ... > [DEBUG] Classpath: [d:\sources\atlas-all\atlas-checkpoint\target\classes > .. (no org.springframework:spring-beans:jar:2.0.2) > Machine B instead has instead this at the classpath log part: > [DEBUG] Classpath: [d:\projects\sb\atlas_all\atlas-checkpoint\target\classes > ... > C:\Documents and > Settings\gds\.m2\repository\org\springframework\spring-beans\2.0.2\spring-beans-2.0.2.jar -- 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