test-scoped artifact excluded, even if it is also a transitive dep
------------------------------------------------------------------

                 Key: MSHADE-95
                 URL: http://jira.codehaus.org/browse/MSHADE-95
             Project: Maven 2.x Shade Plugin
          Issue Type: Bug
    Affects Versions: 1.4, 1.3.2
         Environment: (cygwin)

Apache Maven 3.0.1 (r1038046; 2010-11-23 05:58:32-0500)
Java version: 1.6.0_23
Java home: C:\Program Files\Java\jdk1.6.0_23\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows"

            Reporter: Alan D. Salewski


A test-scoped artifact is excluded from the final jar, even if that artifact is 
also a transitive dependency of some other (non-test-scoped) dep.

{noformat}
MY_POM
  |
  |
  +-- dep A (scope: test)
  |
  |
  +-- dep B (scope: compile)
        |
        |
        +-- dep A (scope: compile)
{noformat}

In the above scenario, I would expect '{{dep A}}' to be included in the final 
jar, even though it's in the '{{test}}' scope in my POM. The rationale is that 
it is required for '{{dep B}}' to run; its absence will result in a 
{{java.lang.ClassNotFoundException}} at runtime.

Behavior observed with maven-shade-plugin versions 1.3.2 and 1.4; other 
versions not tested.

I'll put together a test case later tonight when I have more time and attach it 
here.


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