<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or
    more contributor license agreements. See the NOTICE file
    distributed with this work for additional information regarding
    copyright ownership. The ASF licenses this file to you under the
    Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain
    a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
    applicable law or agreed to in writing, software distributed
    under the License is distributed on an "AS IS" BASIS, WITHOUT
    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions
    and limitations under the License.
-->
<?pde version="3.8"?><target name="Sling IDE Tools (dev)" sequenceNumber="47">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.m2e.feature.feature.group" version="1.6.0.20150526-2032"/>
<repository location="http://download.eclipse.org/technology/m2e/releases/1.6"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.swtbot.feature.group" version="2.3.0.201506081302"/>
<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.3.0.201506081302"/>
<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.3.0.201506081302"/>
<repository location="http://download.eclipse.org/technology/swtbot/releases/2.3.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.wst.server_adapters.feature.feature.group" version="3.2.401.v201410241731"/>
<unit id="org.eclipse.jst.server_ui.feature.feature.group" version="3.4.101.v201410241731"/>
<unit id="org.eclipse.wst.xml_ui.feature.feature.group" version="3.6.3.v201501292352"/>
<unit id="org.eclipse.pde.feature.group" version="3.10.1.v20150204-1700"/>
<unit id="org.eclipse.jst.web_ui.feature.feature.group" version="3.6.3.v201502041526"/>
<unit id="org.eclipse.wst.web_ui.feature.feature.group" version="3.6.3.v201501312139"/>
<unit id="org.eclipse.jst.server_adapters.feature.feature.group" version="3.2.301.v201410241731"/>
<unit id="org.eclipse.jst.enterprise_ui.feature.feature.group" version="3.6.3.v201501281502"/>
<repository location="http://download.eclipse.org/releases/luna"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.apache.commons.collections" version="3.2.0.v2013030210310"/>
<unit id="org.slf4j.api" version="1.7.2.v20121108-1250"/>
<unit id="com.google.gson" version="2.2.4.v201311231704"/>
<unit id="org.apache.commons.lang" version="2.6.0.v201404270220"/>
<unit id="org.apache.commons.io" version="2.2.0.v201405211200"/>
<unit id="org.apache.commons.httpclient" version="3.1.0.v201012070820"/>
<unit id="org.junit" version="4.11.0.v201303080030"/>
<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
</location>
</locations>
</target>
