maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adrian (JIRA)" <j...@codehaus.org>
Subject [jira] Updated: (MWAR-125) war manifest generation : optional=true not transitive
Date Tue, 16 Oct 2007 08:22:53 GMT

     [ http://jira.codehaus.org/browse/MWAR-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Adrian updated MWAR-125:
------------------------

    Attachment: test.zip

Here's a test case :

test-project
      <parent project>
test-ear
     <ear file including test-web web module, test-service jar utility and test-service
jars dependencies>
test-service
    <utility jar bundled in ear file (not in WEB-INF/lib>
test-web
    <the interesting module>

test-web declares a dependency towards test-service with scope=compile and optional=true.
test-web declares a dependency towards commons-logging with scope=compile and optional=false.
test-web declares a dependency towards spring with scope=compile and optional=false.

When executing 'mvn package', we see that spring jar is bundled in WEB-INF/lib.
Since it's include from a transitive optional dependency (test-service) we should expect it
*not* to be bundled in WEB-INF/lib.







> war manifest generation : optional=true not transitive
> ------------------------------------------------------
>
>                 Key: MWAR-125
>                 URL: http://jira.codehaus.org/browse/MWAR-125
>             Project: Maven 2.x War Plugin
>          Issue Type: Bug
>            Reporter: Adrian
>         Attachments: test.zip
>
>
> From http://maven.apache.org/plugins/maven-war-plugin/examples/war-manifest-guide.html,
war  plugins distinguished the jars going to ear file and those going to WEB-INF/lib.
> For a jar that's deployed on the ear and not in WEB-INF/ilb, you jus have to put scope=compile
and optional=true:
>     <dependency>
>       <groupId>org.foo</groupId>
>       <artifactId>bar-jar1</artifactId>
>       <version>${pom.version}</version>
>       <optional>true</optional>
>       <!-- goes in manifest classpath, but not included in WEB-INF/lib -->
>     </dependency>
> The problem is transitive dependencies of bar-jar1 are put in WEB-INF/lib.
> For instance :
> if artA declares
>      <dependency>
>        <artifactId>artB</artifactId>
>        <optional>true</optional>
>      </dependency>
> and artB declares :
>      <dependency>
>        <artifactId>artC</artifactId>
>        <optional>false</optional>
>      </dependency>
> then artC is transitively included in artA dependencies  but with optional=false. 
> IMHO it should be included with optional=true since artB is optional.
> I'll attach a test case ASAP.

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

        

Mime
View raw message