<?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:predicates="http://www.eclipse.org/oomph/predicates/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/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.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="jdt"
    label="JDT">
  <setupTask
      xsi:type="setup.p2:P2Task">
    <requirement
        name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="org.eclipse.pde.api.tools">
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.pde.api.tools/missing_default_api_profile"
        value="Ignore"/>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Xmx"
      value="2048m"
      vm="true"/>
  <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"
      documentation="Initialize the Package Explorer to display workings sets."/>
  <setupTask
      xsi:type="jdt:JRETask"
      version="JavaSE-1.8"
      location="${jre.location-1.8}"/>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      defaultValue="Oxygen"
      storageURI="scope://Workspace"/>
  <setupTask
      xsi:type="setup:VariableTask"
      disabled="true"
      name="eclipse.api.baseline.target.platform"
      value="Neon"
      storageURI="scope://Workspace"/>
  <setupTask
      xsi:type="setup.targlets:TargletTask"
      disabled="true"
      targetName="Modular API Baseline Target"
      activateTarget="false">
    <targlet
        name="Platform"
        activeRepositoryList="${eclipse.api.baseline.target.platform}"
        includeSources="false">
      <requirement
          name="org.eclipse.platform.feature.group"/>
      <requirement
          name="org.eclipse.jdt.feature.group"/>
      <requirement
          name="org.eclipse.pde.feature.group"/>
      <requirement
          name="org.eclipse.equinox.executable.feature.group"/>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="JDT Platform"
        activeRepositoryList="${eclipse.target.platform}">
      <requirement
          name="org.eclipse.platform.feature.group"/>
      <requirement
          name="org.eclipse.jdt.feature.group"/>
      <requirement
          name="org.eclipse.pde.feature.group"/>
      <requirement
          name="org.eclipse.equinox.executable.feature.group"/>
      <repositoryList
          name="Oxygen">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
      <repositoryList
          name="Neon">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
      <repositoryList
          name="Mars">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
      <repositoryList
          name="Luna">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
      <repositoryList
          name="Kepler">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
      <repositoryList
          name="Juno">
        <repository
            url="http://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <project name="features"
      label="Features">
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.jdt"
        remoteURI="jdt/eclipse.jdt"
        userID="">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>eclipse.git.gerrit.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>JDT Features Git or Gerrit Repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <configSections
          name="gerrit">
        <properties
            key="createchangeid"
            value="true"/>
      </configSections>
      <description>JDT Features</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="JDT Features"
          activeRepositoryList="${eclipse.target.platform}">
        <requirement
            name="*"/>
        <sourceLocator
            rootFolder="${git.clone.jdt.location}"/>
        <repositoryList
            name="Oxygen"/>
        <repositoryList
            name="Neon"/>
        <repositoryList
            name="Mars"/>
        <repositoryList
            name="Luna"/>
        <repositoryList
            name="Kepler"/>
        <repositoryList
            name="Juno"/>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask">
      <workingSet
          name="JDT Features">
        <predicate
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.jdt-feature"/>
      </workingSet>
    </setupTask>
    <setupTask
        xsi:type="setup:EclipseIniTask"
        option="-Doomph.redirection.jdt"
        value="=https://git.eclipse.org/c/jdt/eclipse.jdt.git/plain/org.eclipse.jdt.releng/JDT.setup->${git.clone.jdt.location|uri}/org.eclipse.jdt.releng/JDT.setup"
        vm="true">
      <description>Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.</description>
    </setupTask>
    <stream
        name="master"
        label="Master">
      <setupTask
          xsi:type="setup:VariableTask"
          name="eclipse.target.platform"
          value="Oxygen"
          storageURI="scope://Workspace"/>
    </stream>
    <description>The features of the JDT project</description>
  </project>
  <project name="core"
      label="Core">
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.jdt.core"
        remoteURI="jdt/eclipse.jdt.core">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>eclipse.git.gerrit.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>JDT Features Git or Gerrit Repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <configSections
          name="gerrit">
        <properties
            key="createchangeid"
            value="true"/>
      </configSections>
      <description>JDT Core</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="JDT Core"
          activeRepositoryList="${eclipse.target.platform}">
        <requirement
            name="org.eclipse.jdt.apt.ui"/>
        <sourceLocator
            rootFolder="${git.clone.jdt.core.location}"/>
        <repositoryList
            name="Oxygen"/>
        <repositoryList
            name="Neon"/>
        <repositoryList
            name="Mars"/>
        <repositoryList
            name="Luna"/>
        <repositoryList
            name="Kepler"/>
        <repositoryList
            name="Juno"/>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask">
      <workingSet
          name="JDT Core">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.jdt.core"/>
          <operand
              xsi:type="predicates:NotPredicate">
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*|.*examples.*"/>
          </operand>
        </predicate>
      </workingSet>
    </setupTask>
    <project
        name="tests"
        label="Tests">
      <setupTask
          xsi:type="setup.targlets:TargletTask">
        <targlet
            name="JDT Core Tests"
            activeRepositoryList="">
          <requirement
              name="org.eclipse.jdt.apt.pluggable.tests"/>
          <requirement
              name="org.eclipse.jdt.apt.tests"/>
          <requirement
              name="org.eclipse.jdt.compiler.tool.tests"/>
          <requirement
              name="org.eclipse.jdt.core.tests.performance"/>
        </targlet>
      </setupTask>
      <setupTask
          xsi:type="setup.workingsets:WorkingSetTask">
        <workingSet
            name="JDT Core Tests">
          <predicate
              xsi:type="predicates:AndPredicate">
            <operand
                xsi:type="predicates:RepositoryPredicate"
                project="org.eclipse.jdt.core"/>
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*"/>
          </predicate>
        </workingSet>
      </setupTask>
      <stream
          name="master"
          label="Master">
        <setupTask
            xsi:type="setup:VariableTask"
            name="eclipse.target.platform"
            value="Oxygen"
            storageURI="scope://Workspace"/>
      </stream>
    </project>
    <project
        name="testbinaries"
        label="Test Binaries">
      <setupTask
          xsi:type="git:GitCloneTask"
          id="git.clone.jdt.binaries"
          remoteURI="jdt/eclipse.jdt.core.binaries">
        <annotation
            source="http://www.eclipse.org/oomph/setup/InducedChoices">
          <detail
              key="inherit">
            <value>eclipse.git.gerrit.remoteURIs</value>
          </detail>
          <detail
              key="label">
            <value>JDT Core Test Binaries Git or Gerrit Repository</value>
          </detail>
          <detail
              key="target">
            <value>remoteURI</value>
          </detail>
        </annotation>
        <configSections
            name="gerrit">
          <properties
              key="createchangeid"
              value="true"/>
        </configSections>
        <description>JDT Core Tests</description>
      </setupTask>
      <setupTask
          xsi:type="setup.targlets:TargletTask">
        <targlet
            name="JDT Core Test Binaries"
            activeRepositoryList="${eclipse.target.platform}">
          <requirement
              name="org.eclipse.jdt.core.tests.binaries"/>
          <sourceLocator
              rootFolder="${git.clone.jdt.binaries.location}"/>
          <repositoryList
              name="Oxygen"/>
          <repositoryList
              name="Neon"/>
          <repositoryList
              name="Mars"/>
          <repositoryList
              name="Luna"/>
          <repositoryList
              name="Kepler"/>
          <repositoryList
              name="Juno"/>
        </targlet>
      </setupTask>
      <setupTask
          xsi:type="setup.workingsets:WorkingSetTask">
        <workingSet
            name="JDT Core Test Binaries">
          <predicate
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.jdt.core.tests.binaries"/>
        </workingSet>
      </setupTask>
      <stream
          name="master"
          label="Master">
        <setupTask
            xsi:type="setup:VariableTask"
            name="eclipse.target.platform"
            value="Oxygen"
            storageURI="scope://Workspace"/>
      </stream>
      <description>The binaries for tests of the JDT Core project</description>
    </project>
    <stream
        name="master"
        label="Master">
      <setupTask
          xsi:type="setup:VariableTask"
          name="eclipse.target.platform"
          value="Oxygen"
          storageURI="scope://Workspace"/>
    </stream>
    <description>The core parts of the JDT project</description>
  </project>
  <project name="debug"
      label="Debug">
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.jdt.debug"
        remoteURI="jdt/eclipse.jdt.debug">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>eclipse.git.gerrit.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>JDT Debug Git or Gerrit Repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <configSections
          name="gerrit">
        <properties
            key="createchangeid"
            value="true"/>
      </configSections>
      <description>JDT Core</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="JDT Debug"
          activeRepositoryList="${eclipse.target.platform}">
        <sourceLocator
            rootFolder="${git.clone.jdt.debug.location}"/>
        <repositoryList
            name="Oxygen"/>
        <repositoryList
            name="Neon"/>
        <repositoryList
            name="Mars"/>
        <repositoryList
            name="Luna"/>
        <repositoryList
            name="Kepler"/>
        <repositoryList
            name="Juno"/>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask">
      <workingSet
          name="JDT Debug">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.jdt.debug"/>
          <operand
              xsi:type="predicates:NotPredicate">
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*"/>
          </operand>
        </predicate>
      </workingSet>
    </setupTask>
    <project
        name="tests"
        label="Tests">
      <setupTask
          xsi:type="setup.targlets:TargletTask">
        <targlet
            name="JDT Debug Tests"
            activeRepositoryList="">
          <requirement
              name="org.eclipse.jdt.debug.tests"/>
          <requirement
              name="org.eclipse.jdt.debug.jdi.tests.plain.project"/>
        </targlet>
      </setupTask>
      <setupTask
          xsi:type="setup.workingsets:WorkingSetTask">
        <workingSet
            name="JDT Debug Tests">
          <predicate
              xsi:type="predicates:AndPredicate">
            <operand
                xsi:type="predicates:RepositoryPredicate"
                project="org.eclipse.jdt.debug"/>
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*"/>
          </predicate>
        </workingSet>
      </setupTask>
      <stream
          name="master"
          label="Master">
        <setupTask
            xsi:type="setup:VariableTask"
            name="eclipse.target.platform"
            value="Oxygen"
            storageURI="scope://Workspace"/>
      </stream>
    </project>
    <stream
        name="master"
        label="Master">
      <setupTask
          xsi:type="setup:VariableTask"
          name="eclipse.target.platform"
          value="Oxygen"
          storageURI="scope://Workspace"/>
    </stream>
    <description>The debug parts of the JDT project</description>
  </project>
  <project name="ui"
      label="UI">
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.jdt.ui"
        remoteURI="jdt/eclipse.jdt.ui">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>eclipse.git.gerrit.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>JDT UI Git or Gerrit Repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <configSections
          name="gerrit">
        <properties
            key="createchangeid"
            value="true"/>
      </configSections>
      <description>JDT UI</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="JDT UI"
          activeRepositoryList="${eclipse.target.platform}">
        <requirement
            name="org.eclipse.jdt.astview.feature.feature.group"/>
        <requirement
            name="org.eclipse.jdt.jeview.feature.feature.group"/>
        <sourceLocator
            rootFolder="${git.clone.jdt.ui.location}"/>
        <repositoryList
            name="Oxygen"/>
        <repositoryList
            name="Neon"/>
        <repositoryList
            name="Mars"/>
        <repositoryList
            name="Luna"/>
        <repositoryList
            name="Kepler"/>
        <repositoryList
            name="Juno"/>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask">
      <workingSet
          name="JDT UI">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.jdt.ui"/>
          <operand
              xsi:type="predicates:NotPredicate">
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*|.*examples.*"/>
          </operand>
        </predicate>
      </workingSet>
    </setupTask>
    <project
        name="tests"
        label="Tests">
      <setupTask
          xsi:type="setup.targlets:TargletTask">
        <targlet
            name="JDT UI Tests">
          <requirement
              name="org.eclipse.jdt.text.tests"/>
          <requirement
              name="org.eclipse.jdt.ui.tests.refactoring"/>
          <requirement
              name="org.eclipse.ltk.core.refactoring.tests"/>
          <requirement
              name="org.eclipse.ltk.ui.refactoring.tests"/>
        </targlet>
      </setupTask>
      <setupTask
          xsi:type="setup.workingsets:WorkingSetTask">
        <workingSet
            name="JDT UI Tests">
          <predicate
              xsi:type="predicates:AndPredicate">
            <operand
                xsi:type="predicates:RepositoryPredicate"
                project="org.eclipse.jdt.ui"/>
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*tests.*"/>
          </predicate>
        </workingSet>
      </setupTask>
      <stream
          name="master"
          label="Master">
        <setupTask
            xsi:type="setup:VariableTask"
            name="eclipse.target.platform"
            value="Oxygen"
            storageURI="scope://Workspace"/>
      </stream>
    </project>
    <project
        name="examples"
        label="Examples">
      <setupTask
          xsi:type="setup.targlets:TargletTask">
        <targlet
            name="JDT UI Examples">
          <requirement
              name="org.eclipse.jdt.ui.examples.javafamily"/>
          <requirement
              name="org.eclipse.jdt.ui.examples.projects"/>
        </targlet>
      </setupTask>
      <setupTask
          xsi:type="setup.workingsets:WorkingSetTask">
        <workingSet
            name="JDT UI Examples">
          <predicate
              xsi:type="predicates:AndPredicate">
            <operand
                xsi:type="predicates:RepositoryPredicate"
                project="org.eclipse.jdt.ui"/>
            <operand
                xsi:type="predicates:NamePredicate"
                pattern=".*examples.*"/>
          </predicate>
        </workingSet>
      </setupTask>
      <stream
          name="master"
          label="Master">
        <setupTask
            xsi:type="setup:VariableTask"
            name="eclipse.target.platform"
            value="Oxygen"
            storageURI="scope://Workspace"/>
      </stream>
    </project>
    <stream
        name="master"
        label="Master">
      <setupTask
          xsi:type="setup:VariableTask"
          name="eclipse.target.platform"
          value="Oxygen"
          storageURI="scope://Workspace"/>
    </stream>
    <description>The UI parts of the JDT project</description>
  </project>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>The setups for the Java Development Tools projects</description>
</setup:Project>
