<?xml version='1.0' encoding='UTF-8'?>
<ivy-module xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" version="2.0">

    <info module='${ant.project.name}' organisation='${project.organisation}'/>

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

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

    <dependencies>
        <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.test' name='org.eclipse.virgo.test.stubs' rev='${org.eclipse.virgo.test}' conf='test->runtime'/>
        <dependency org='org.eclipse.virgo.mirrored' name='org.eclipse.osgi' rev='${org.eclipse.osgi}' conf='compile->runtime'/>

		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.osgi.services" rev="${org.eclipse.osgi.services}" conf="compile->runtime"/>
		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.equinox.cm" rev="${org.eclipse.equinox.cm}" conf="compile->runtime"/>
		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.equinox.event" rev="${org.eclipse.equinox.event}" conf="compile->runtime"/>
		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.equinox.region" rev="${org.eclipse.equinox.region}" conf="compile->runtime"/>

        <dependency org="org.eclipse.virgo.kernel" name="org.eclipse.virgo.kernel.deployer" rev="latest.integration" conf='compile->compile'/>
        <dependency org='org.eclipse.virgo.util' name='org.eclipse.virgo.util.io' rev='${org.eclipse.virgo.util}' conf='compile->compile'/>
        <dependency org='org.eclipse.virgo.util' name='org.eclipse.virgo.util.osgi' rev='${org.eclipse.virgo.util}' conf='compile->compile'/>
        <dependency org='org.eclipse.virgo.mirrored' name='org.slf4j.api' rev='${org.slf4j.api}' conf='compile->runtime'/>
        <dependency org='org.eclipse.virgo.mirrored' name='org.slf4j.nop' rev='${org.slf4j.nop}' conf='test->runtime'/>
        <dependency org='org.eclipse.virgo.medic' name='org.eclipse.virgo.medic' rev='${org.eclipse.virgo.medic}' conf='aspects, compile->runtime'/>
        <dependency org='org.eclipse.virgo.medic' name='org.eclipse.virgo.medic.core' rev='${org.eclipse.virgo.medic}' conf='runtime->runtime'/>
        <dependency org='org.eclipse.virgo.medic' name='org.eclipse.virgo.medic.test' rev='${org.eclipse.virgo.medic}' conf='test->runtime'/>
        <dependency org="org.eclipse.gemini" name="org.eclipse.gemini.blueprint.extender" rev="${org.eclipse.gemini.blueprint}" conf="compile->compile"/>
        <dependency org="org.eclipse.gemini" name="org.eclipse.gemini.blueprint.core" rev="${org.eclipse.gemini.blueprint}" conf="compile->compile"/>
        

        <override org="org.springframework" rev="${org.springframework}"/>
		<override org="org.eclipse.virgo.util" rev="${org.eclipse.virgo.util}"/>
		
		<!-- Allow Equinox to be upgraded point-wise before rippling -->
		<override org="org.eclipse.virgo.mirrored" module="org.eclipse.osgi" rev="${org.eclipse.osgi}"/>
    </dependencies>

</ivy-module>
