<?xml version="1.0" encoding="UTF-8"?>
<rmap xmlns="http://www.eclipse.org/buckminster/RMap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
>
	<!--
		This set of locators should ensure that all base components are picked up from the EMF base
		p2 repository - even the dependencies of the org.eclipse.emf.base should be picked from that
		repository as they are referenced using strict version ranges which should not match
		the version ranges in sources containing the "qualifier" placeholder.
	-->
	<locator pattern="^org\.eclipse\.emf\.base(?:\.source)?$" searchPathRef="emf.base" />
	<locator pattern="^org\.eclipse\.emf(?:\..+)?$" searchPathRef="emf.base" failOnError="false" />
	<!-- refer the resolution to the base RMAP to resolve the rest of the components -->
	<redirect href="emf.base.rmap" />

	<searchPath name="emf.base">
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(!(|(build.type=S)(build.type=R))))"
		>
			<uri format="{0}">
				<bc:propertyRef key="emf.base.nightly" />
			</uri>
		</provider>
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(build.type=S))"
		>
			<uri format="{0}/modeling/emf/emf/updates/2.13milestones/base">
				<bc:propertyRef key="eclipse.download" />
			</uri>
		</provider>
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(build.type=R))"
		>
			<uri format="{0}/modeling/emf/emf/updates/2.13/base">
				<bc:propertyRef key="eclipse.download" />
			</uri>
		</provider> 

		<!--
			Some of the EMF base components (notably org.eclispe.emf.common) are consumed by (and included in) the platform
			and it may happen that they are not available from the EMF base build p2 repository defined above because
			the platform build consumed the EMF components from an older release of EMF (and thus from a different
			repository).
			So here we make it possible for the core build to consume the necessary base EMF components from the platform repo.   
		-->
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(!(|(build.type=S)(build.type=R))))"
		>
			<uri format="{0}/eclipse/updates/4.7milestones">
				<bc:propertyRef key="eclipse.download" />
			</uri>
		</provider>
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(build.type=S))"
		>
			<uri format="{0}/eclipse/updates/4.7milestones">
				<bc:propertyRef key="eclipse.download" />
			</uri>
		</provider>
		<provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"
			resolutionFilter="(&amp;(|(resolve.target.platform=true)(resolve.target.platform.base.sources=true))(build.type=R))"
		>
			<uri format="{0}/eclipse/updates/4.7milestones">
				<bc:propertyRef key="eclipse.download" />
			</uri>
		</provider>
	</searchPath>

	<property key="eclipse.download" value="http://download.eclipse.org" />
	<property key="emf.base.nightly" value="https://hudson.eclipse.org/xtext/job/emf-base/lastSuccessfulBuild/artifact/build-result/p2.repository/" />
	
	<property key="resolve.target.platform" value="false" />
	<property key="resolve.target.platform.base.sources" value="false" />
</rmap>
 