Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-1378

Make dependencies of test-jars transitive

    XMLWordPrintableJSON

Details

    Description

      test-jar transitive dependencies are calculated as per compile scope rather than test scope.

      The situation is demonstrated nicely in it0077:

      • module sub1 has a test-scoped dependency of commons-lang
      • module sub2 has a test-scoped dependency of sub1 test-jar

      sub2 tests should inherit the commons-lang transitive dependency. For example:

      Index: maven-core-it/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java
      ===================================================================
      — maven-core-it/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java (revision
      328307)
      +++ maven-core-it/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java (working
      copy)
      @@ -1,6 +1,7 @@
      package org.apache.maven.it0077;

      import junit.framework.TestCase;
      +import org.apache.commons.lang.BooleanUtils;

      public class PersonTwoTest
      extends PersonTest

      Results in:

      [INFO] ----------------------------------------------------------------------------
      [ERROR] BUILD FAILURE
      [INFO] ----------------------------------------------------------------------------
      [INFO] Compilation failure

      c:\maven-components\maven-core-it\it0077\sub2\src\test\java\org\apache\maven\it0077\PersonTwoTest.java:[4,31]
      package org.apache.commons.lang does not exist

      Attachments

        1. mng1378.tar.gz
          2 kB
          Lukas Nalezenec

        Issue Links

          Activity

            People

              Unassigned Unassigned
              markh Mark Hobson
              Votes:
              71 Vote for this issue
              Watchers:
              77 Start watching this issue

              Dates

                Created:
                Updated: