[ http://jira.codehaus.org/browse/MNG-1571?page=all ] Joerg Schaible closed MNG-1571: -------------------------------
Resolution: Fixed Fix Version: (was: 2.0.5) 2.0.4 Was fixed in 2.0.4 > Wrong calculation of transient dependecies if artifact is referenced from > different scopes > ------------------------------------------------------------------------------------------ > > Key: MNG-1571 > URL: http://jira.codehaus.org/browse/MNG-1571 > Project: Maven 2 > Type: Bug > Components: Plugins and Lifecycle > Reporter: Joerg Schaible > Fix For: 2.0.4 > > > I have an artifact A (elsag-test below), that is used by other projects only > for the tests. A has a dependency to commons-logging. Artifact B has a > compile-time dependency to an artifact, that also has a dependency on > commons-logging. Nevertheless, the resulting scope for commons-logging is > wrongly calculated as test and the compilation fails. > ============= %< ================ > [DEBUG] Retrieving parent-POM from the repository for project: > com.elsagsolutions.commons:super-project:pom:1.1-SNAPSHOT > [DEBUG] meta: using locally installed snapshot > [DEBUG] com.elsagsolutions.commons:elsag-test:jar:1.2-SNAPSHOT (selected > for test) > [DEBUG] cglib:cglib-nodep:jar:2.1_3 (selected for test) > [DEBUG] commons-logging:commons-logging:jar:1.0.4 (selected for test) > [DEBUG] jmock:jmock-cglib:jar:1.0.1 (selected for test) > [DEBUG] jmock:jmock:jar:1.0.1 (selected for test) > [DEBUG] junit:junit:jar:3.8.1 (selected for test) > [DEBUG] commons-httpclient:commons-httpclient:jar:2.0.2 (selected for > compile) > [DEBUG] commons-logging:commons-logging:jar:1.0.4 (setting scope to: > compile) > [DEBUG] commons-logging:commons-logging:jar:1.0.3 (removed - nearer > found: 1.0.4) > [DEBUG] commons-logging:commons-logging:jar:1.0.3 (selected for compile) > [DEBUG] commons-io:commons-io:jar:1.0 (selected for compile) > [DEBUG] junit:junit:jar:3.8.1 (selected for compile) > ============= %< ================ > [INFO] > ---------------------------------------------------------------------------- > [ERROR] BUILD FAILURE > [INFO] > ---------------------------------------------------------------------------- > [INFO] Compilation failure > C:\Work\Projects\commons\lang\src\java\com\elsagsolutions\lang\net\AbstractSocketStreamServer.java:[14,34] > package org.apache.commons.logging does not exist > ============= %< ================ > If I add commons-logging as direct dependency of B it works: > ============= %< ================ > [DEBUG] Retrieving parent-POM from the repository for project: > com.elsagsolutions.commons:super-project:pom:1.1-SNAPSHOT > [DEBUG] meta: using locally installed snapshot > [DEBUG] com.elsagsolutions.commons:elsag-test:jar:1.2-SNAPSHOT (selected > for test) > [DEBUG] cglib:cglib-nodep:jar:2.1_3 (selected for test) > [DEBUG] commons-logging:commons-logging:jar:1.0.4 (selected for test) > [DEBUG] jmock:jmock-cglib:jar:1.0.1 (selected for test) > [DEBUG] jmock:jmock:jar:1.0.1 (selected for test) > [DEBUG] junit:junit:jar:3.8.1 (selected for test) > [DEBUG] commons-logging:commons-logging:jar:1.0.4 (selected for compile) > [DEBUG] commons-httpclient:commons-httpclient:jar:2.0.2 (selected for > compile) > [DEBUG] commons-logging:commons-logging:jar:1.0.3 (removed - nearer > found: 1.0.4) > [DEBUG] commons-logging:commons-logging:jar:1.0.3 (selected for compile) > ============= %< ================ > Unfortunately this introduces a dependency for commons-logging, therefore I > wanted to set the dep at least optional, but then commons-logging is again > not available at compile time. Might be related to MNG-1378. -- 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