<?xml version="1.0" encoding="UTF-8"?>
<setup:Project
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
    xmlns:jdt="http://www.eclipse.org/oomph/setup/jdt/1.0"
    xmlns:pde="http://www.eclipse.org/oomph/setup/pde/1.0"
    xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0"
    xmlns:projects="http://www.eclipse.org/oomph/setup/projects/1.0"
    xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
    xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
    xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
    xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
    xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/setup/pde/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/PDE.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Projects.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore"
    name="cdt"
    label="CDT">
  <setupTask
      xsi:type="setup.p2:P2Task">
    <requirement
        name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
    <requirement
        name="org.eclipse.swtbot.ide.feature.group"/>
    <requirement
        name="org.eclipse.swtbot.generator.feature.feature.group"/>
    <requirement
        name="org.eclipse.platform.feature.group"/>
    <requirement
        name="org.eclipse.rcp.feature.group"/>
    <requirement
        name="org.eclipse.jdt.feature.group"/>
    <requirement
        name="org.eclipse.pde.feature.group"/>
    <repository
        url="http://download.eclipse.org/technology/swtbot/releases/latest"/>
    <description>Install the tools needed in the IDE to work with the source code for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      id=""
      option="-Xmx"
      value="1g"
      vm="true">
    <description>Set the heap space needed to work with the projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-XX:MaxPermSize="
      value="256m"
      vm="true">
    <description>Set the perm size needed to work with the projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:ResourceCreationTask"
      excludedTriggers="STARTUP MANUAL"
      content="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;section name=&quot;Workbench&quot;>&#xD;&#xA;&#x9;&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>&#xD;&#xA;&#x9;&lt;/section>&#xD;&#xA;&lt;/section>&#xD;&#xA;"
      targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml"
      encoding="UTF-8">
    <description>Initialize JDT's package explorer to show working sets as its root objects</description>
  </setupTask>
  <setupTask
      xsi:type="jdt:JRETask"
      version="JavaSE-1.8"
      location="${jre.location-1.8}">
    <description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      defaultValue="Oxygen"
      storageURI="scope://Workspace"/>
  <stream name="master">
    <setupTask
        xsi:type="pde:APIBaselineTask"
        id="baseline"
        name="CDT"
        version="9.2"
        location="${workspace.location/../api.baseline}"
        remoteURI="http://download.eclipse.org/tools/cdt/builds/neon/milestones/ur2-rc4/cdt-9.2ur2-rc4.zip"/>
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.cdt"
        remoteURI="cdt/org.eclipse.cdt"
        checkoutBranch="master">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>eclipse.git.gerrit.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>${scope.project.label} Git or Gerrit Repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <description>CDT</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask"
        programArguments="-consolelog"
        vmArguments="-Xms40m -Xmx512M -XX:MaxPermSize=256m -ea">
      <targlet
          name="CDT"
          activeRepositoryList="${eclipse.target.platform}">
        <requirement
            name="org.eclipse.platform.ide"/>
        <requirement
            name="org.apache.log4j"/>
        <requirement
            name="org.apache.log4j.source"/>
        <requirement
            name="org.apache.commons.compress"/>
        <requirement
            name="net.sourceforge.lpg.lpgjavaruntime"/>
        <requirement
            name="org.junit"/>
        <requirement
            name="org.junit.source"/>
        <requirement
            name="org.mockito"/>
        <requirement
            name="org.hamcrest"/>
        <requirement
            name="org.hamcrest.core"/>
        <requirement
            name="org.eclipse.swtbot.eclipse.feature.group"/>
        <requirement
            name="org.eclipse.swtbot.feature.group"/>
        <requirement
            name="org.eclipse.swtbot.eclipse.test.junit.feature.group"/>
        <requirement
            name="org.eclipse.rse.feature.group"/>
        <requirement
            name="org.eclipse.test.feature.group"/>
        <requirement
            name="org.eclipse.remote.feature.group"/>
        <requirement
            name="org.eclipse.license.feature.group"/>
        <requirement
            name="com.google.gson"/>
        <requirement
            name="org.eclipse.remote.serial.feature.group"/>
        <requirement
            name="org.eclipse.remote.console.feature.group"/>
        <requirement
            name="org.eclipse.tm.terminal.control"/>
        <requirement
            name="org.eclipse.launchbar.feature.group"/>
        <requirement
            name="org.eclipse.launchbar.remote.feature.group"/>
        <requirement
            name="org.eclipse.linuxtools.docker.feature.feature.group"/>
        <requirement
            name="org.freemarker"/>
        <requirement
            name="org.bouncycastle.bcpkix"
            versionRange="[1.51.0.v201505131810,1.51.0.v201505131810]"/>
        <requirement
            name="org.bouncycastle.bcprov"
            versionRange="[1.51.0.v201505131810,1.51.0.v201505131810]"/>
        <requirement
            name="org.antlr.runtime"/>
        <requirement
            name="org.eclipse.tools.templates.freemarker"/>
        <requirement
            name="org.eclipse.tools.templates.ui"/>
        <requirement
            name="org.eclipse.ui.trace"/>
        <sourceLocator
            rootFolder="${git.clone.cdt.location}"
            locateNestedProjects="true"/>
        <repositoryList
            name="Neon">
          <repository
              url="http://download.eclipse.org/tools/orbit/downloads/drops/S20160916162009/repository/"/>
          <repository
              url="http://download.eclipse.org/technology/swtbot/snapshots/"/>
          <repository
              url="http://download.eclipse.org/tm/updates/4.0/"/>
          <repository
              url="http://download.eclipse.org/eclipse/updates/4.6/"/>
          <repository
              url="http://download.eclipse.org/tools/ptp/builds/remote/neon/milestones"/>
          <repository
              url="http://download.eclipse.org/cbi/updates/license"/>
          <repository
              url="http://download.eclipse.org/tm/terminal/builds/development/nightly/"/>
          <repository
              url="https://hudson.eclipse.org/cdt/job/launchbar-master/lastSuccessfulBuild/artifact/repo/target/repository/"/>
          <repository
              url="http://download.eclipse.org/linuxtools/updates-docker-nightly/"/>
          <repository
              url="https://hudson.eclipse.org/cdt/job/tools-templates-master/lastSuccessfulBuild/artifact/repo/target/repository/"/>
        </repositoryList>
        <repositoryList
            name="Oxygen">
          <repository
              url="http://download.eclipse.org/tools/orbit/downloads/drops/S20161205183421/repository"/>
          <repository
              url="http://download.eclipse.org/technology/swtbot/snapshots/"/>
          <repository
              url="http://download.eclipse.org/tm/updates/4.0/"/>
          <repository
              url="http://download.eclipse.org/eclipse/updates/4.7milestones/"/>
          <repository
              url="http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones"/>
          <repository
              url="http://download.eclipse.org/cbi/updates/license"/>
          <repository
              url="http://download.eclipse.org/tm/terminal/builds/development/nightly/"/>
          <repository
              url="https://hudson.eclipse.org/cdt/job/launchbar-master/lastSuccessfulBuild/artifact/repo/target/repository/"/>
          <repository
              url="http://download.eclipse.org/linuxtools/updates-docker-nightly/"/>
          <repository
              url="https://hudson.eclipse.org/cdt/job/tools-templates-master/lastSuccessfulBuild/artifact/repo/target/repository/"/>
        </repositoryList>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="projects:ProjectsImportTask">
      <sourceLocator
          rootFolder="${git.clone.cdt.location}"
          locateNestedProjects="true"/>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask">
      <workingSet
          name="CDT">
        <predicate
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.cdt-feature"/>
      </workingSet>
      <description>The dynamic working sets for ${scope.project.label}</description>
    </setupTask>
  </stream>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>C/C++ Development Tools</description>
</setup:Project>
