<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://ivyrep.jayasoft.org/ivy-doc.xsl"?>
<ivy-module
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd"
        version="1.3">

    <info organisation="org.eclipse.gemini.web" module="${ant.project.name}"/>

    <configurations>
        <include file="${virgo.build.dir}/common/default-ivy-configurations.xml"/>
    </configurations>

    <publications>
        <artifact name="${ant.project.name}"/>
        <artifact name="${ant.project.name}-sources" type="src" ext="jar"/>
    </publications>

    <dependencies>
            <dependency org="org.eclipse.virgo.util" name="org.eclipse.virgo.util.osgi" rev="${org.eclipse.virgo.util}" conf="compile->runtime"/>
            <dependency org="org.eclipse.virgo.util" name="org.eclipse.virgo.util.io" rev="${org.eclipse.virgo.util}" conf="compile->runtime"/>
            <dependency org="org.eclipse.osgi" name="org.eclipse.osgi" rev="${org.eclipse.osgi}" conf="compile->compile"/>
            <dependency org="javax.servlet" name="javax.servlet" rev="${javax.servlet}" conf="compile->runtime"/>
            <dependency org="javax.servlet" name="javax.servlet.jsp" rev="${javax.servlet.jsp}" conf="compile->runtime"/>


            <dependency org="org.slf4j" name="com.springsource.slf4j.api" rev="${org.slf4j}" conf="compile->runtime"/>
            <dependency org="org.slf4j" name="com.springsource.slf4j.nop" rev="${org.slf4j}" conf="test->runtime"/>
            <dependency org="org.eclipse.gemini.web" name="org.eclipse.gemini.web.core" rev="latest.integration" conf="compile->compile"/>
            <dependency org="javax.annotation" name="javax.annotation" rev="${javax.annotation}" conf="compile->runtime"/>
            <dependency org="javax.ejb" name="com.springsource.javax.ejb" rev="${javax.ejb}" conf="compile->runtime,provided"/>
            <dependency org="javax.el" name="javax.el" rev="${javax.el}" conf="compile->runtime"/>
            <dependency org="javax.persistence" name="com.springsource.javax.persistence" rev="${javax.persistence}" conf="compile->runtime"/>
            <dependency org="javax.xml.soap" name="com.springsource.javax.xml.soap" rev="${javax.xml.soap}" />
            <dependency org="javax.xml.bind" name="com.springsource.javax.xml.bind" rev="${javax.xml.bind}" />
            <dependency org="javax.xml.stream" name="com.springsource.javax.xml.stream" rev="${javax.xml.stream}" />
            <dependency org="javax.xml.rpc" name="com.springsource.javax.xml.rpc" rev="${javax.xml.rpc}" />
            <dependency org="org.apache.jasper" name="com.springsource.org.apache.jasper" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.el" name="com.springsource.org.apache.el" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.eclipse.jdt" name="com.springsource.org.eclipse.jdt.core.compiler.batch" rev="${org.eclipse.jdt}" conf="compile->runtime"/>
            <dependency org="org.apache.catalina" name="com.springsource.org.apache.catalina" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.catalina" name="com.springsource.org.apache.catalina.ha" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.catalina" name="com.springsource.org.apache.catalina.tribes" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.coyote" name="com.springsource.org.apache.coyote" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.juli" name="com.springsource.org.apache.juli.extras" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.tomcat" name="com.springsource.org.apache.tomcat.api" rev="${org.apache.tomcat}" conf="compile->runtime"/>
            <dependency org="org.apache.tomcat" name="com.springsource.org.apache.tomcat.util" rev="${org.apache.tomcat}" conf="compile->runtime"/>

            <dependency org="org.springframework.osgi" name="org.springframework.osgi.core" rev="${org.springframework.osgi}" conf="compile->runtime"/>

            <dependency org="org.junit" name="com.springsource.org.junit" rev="${org.junit}" conf="test->runtime"/>
            <dependency org="org.easymock" name="com.springsource.org.easymock" rev="${org.easymock}" conf="test->runtime"/>
            <dependency org="org.eclipse.virgo.teststubs" name="org.eclipse.virgo.teststubs.osgi" rev="${org.eclipse.virgo.teststubs}" conf="test->runtime"/>
   </dependencies>

</ivy-module>
