Dependencies marked for export into WEB-INF/lib should be fully exported 
regardles of the ordering in Java Build Path
---------------------------------------------------------------------------------------------------------------------

                 Key: IVYDE-210
                 URL: https://issues.apache.org/jira/browse/IVYDE-210
             Project: IvyDE
          Issue Type: Bug
          Components: classpath container
         Environment: latest ivy from trunk, eclipse 3.5, WTP 3.1
            Reporter: Ivica Loncar


Create dynamic web project and create ivy configuration.

This is a relevant part of  ivy.xml that can be used to demonstrate bug.

{code}

    <configurations>
        <conf name="default" />
        <conf name="compile" />
        <conf name="runtime" />
        <conf name="test" />
        <conf name="sources" />
    </configurations>

    <dependencies>

        <dependency org="javax.jms" name="jms" rev="1.1" 
conf="compile->default" />
        
        <dependency org="org.springframework" name="spring-aop" rev="2.5.6" 
conf="runtime->default" />

        <dependency org="org.springframework" name="spring-jms" rev="2.5.6" 
conf="runtime->default" />
        <dependency org="org.springframework" name="spring-web" rev="2.5.6" 
conf="runtime->default" />
        <dependency org="org.springframework" name="spring-webmvc" rev="2.5.6" 
conf="runtime->default" />
        <dependency org="org.aspectj" name="aspectjrt" rev="1.6.5" 
conf="runtime->default" />
        <dependency org="org.aspectj" name="aspectjweaver" rev="1.6.5" 
conf="runtime->default" />
        <dependency org="org.springframework" name="spring-context-support" 
rev="2.5.6" conf="runtime->default" />
        <dependency org="org.springframework" name="spring-test" rev="2.5.6" 
conf="test->default" />
        <dependency org="org.springframework" name="spring-jdbc" rev="2.5.6" 
conf="test,compile->default" />
        <dependency org="commons-fileupload" name="commons-fileupload" 
rev="1.2.1" conf="test,compile,runtime->default" />
        <dependency org="commons-io" name="commons-io" rev="1.4" 
conf="test,compile,runtime->default" />
        <dependency org="dom4j" name="dom4j" rev="1.6.1" 
conf="test,compile,runtime->default" />
        <dependency org="javax.servlet" name="jstl" rev="1.2" 
conf="compile->default" />

        <exclude org="xml-apis" module="xml-apis" />

        <override org="junit" module="junit" rev="4.5" />
        <override org="org.slf4j" module="slf4j-api" rev="1.5.6" />

    </dependencies>
{code}

h3. Scenario 1

h4. Steps:
 - go to the Java Build Path and reorder libraries (last tab under Java Build 
Path) in the following order:
     1. source folder
     1. JRE System library
     1. Apache Tomcat
     1. _runtime_
     1. _compile_
 - under J2EE Module dependecies we mark ivy.xml [compile] for export
 - we can see that compile classpath container contains libraries like 
aopalliance, commons-fileupload, etc. (more than 4 jars)
 - publish direclty to the tomcat installation (Do not use workspace as server 
location. You have to setup server path and deploy path.)
h4. Result:
 - under {TOMCAT_HOME}\webapps\{APPNAME}\WEB-INF\lib we get:
    - jms-1.1.jar
    - jstl-1.2.jar
    - spring-jdbc-2.5.6.jar
 
h3. Scenario 2
h4. Steps:
  - go to the Java Build Path and reorder libraries such that compile comes 
before runtime:
     1. source folder
     1. JRE System library
     1. Apache Tomcat
     1. _compile_
     1. _runtime_
 - publish project to tomcat installation

h4. Result:
 - under {TOMCAT_HOME}\webapps\{APPNAME}\WEB-INF\lib we get all of the 
libraries that we can see under compile configuration in ivy classpath container

The first scenario demonstrates the bug and should be fixed:
 - dependencies marked for J2EE export into WEB-INF/lib should be fully 
exported  in all circumstances  and Java Build Path ordering should not have 
influence on it


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to