<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
   Copyright (C) 2012, 2013 Matthias Sohn <matthias.sohn@sap.com>

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
   which accompanies this distribution, and is available at
   http://www.eclipse.org/legal/epl-v10.html
-->
<?pde version="3.6"?>
<target name="jgit.target" sequenceNumber="55">
  <locations>
    <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
      <repository location="http://download.eclipse.org/jetty/updates/jetty-bundles-7.x/7.6.14.v20131031/"/>
      <unit id="org.eclipse.jetty.client" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.client.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.continuation" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.continuation.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.http" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.http.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.io" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.io.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.security" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.security.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.server" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.server.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.servlet" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.servlet.source" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.util" version="7.6.14.v20131031"/>
      <unit id="org.eclipse.jetty.util.source" version="7.6.14.v20131031"/>
    </location>
    <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
      <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140114142710/repository/"/>
      <unit id="org.apache.ant.source" version="1.8.4.v201303080030"/>
      <unit id="org.apache.ant" version="1.8.4.v201303080030"/>
      <unit id="org.apache.commons.compress" version="1.6.0.v201310281400"/>
      <unit id="org.apache.commons.compress.source" version="1.6.0.v201310281400"/>
      <unit id="org.apache.commons.logging" version="1.1.1.v201101211721"/>
      <unit id="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
      <unit id="org.apache.httpcomponents.httpcore" version="4.1.4.v201203221030"/>
      <unit id="org.apache.httpcomponents.httpcore.source" version="4.1.4.v201203221030"/>
      <unit id="org.apache.httpcomponents.httpclient" version="4.1.3.v201209201135"/>
      <unit id="org.apache.httpcomponents.httpclient.source" version="4.1.3.v201209201135"/>
      <unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
      <unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
      <unit id="org.kohsuke.args4j" version="2.0.21.v201301150030"/>
      <unit id="org.kohsuke.args4j.source" version="2.0.21.v201301150030"/>
      <unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
      <unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
      <unit id="javaewah" version="0.7.9.v201401101600"/>
      <unit id="javaewah.source" version="0.7.9.v201401101600"/>
      <unit id="org.objenesis" version="1.0.0.v201105211943"/>
      <unit id="org.objenesis.source" version="1.0.0.v201105211943"/>
      <unit id="org.mockito" version="1.8.4.v201303031500"/>
      <unit id="org.mockito.source" version="1.8.4.v201303031500"/>
      <unit id="com.jcraft.jsch" version="0.1.50.v201310081430"/>
      <unit id="com.jcraft.jsch.source" version="0.1.50.v201310081430"/>
      <unit id="org.junit" version="4.11.0.v201303080030"/>
      <unit id="org.junit.source" version="4.11.0.v201303080030"/>
      <unit id="javax.servlet" version="2.5.0.v201103041518"/>
      <unit id="javax.servlet.source" version="2.5.0.v201103041518"/>
      <unit id="org.tukaani.xz" version="1.3.0.v201308270617"/>
      <unit id="org.tukaani.xz.source" version="1.3.0.v201308270617"/>
    </location>
    <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
      <repository location="http://download.eclipse.org/releases/kepler/"/>
      <unit id="org.eclipse.osgi" version="0.0.0"/>
    </location>
  </locations>
</target>
