<?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:predicates="http://www.eclipse.org/oomph/predicates/1.0"
    xmlns:setup="http://www.eclipse.org/oomph/setup/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"
    xmlns:workingsets="http://www.eclipse.org/oomph/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/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 http://www.eclipse.org/oomph/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/WorkingSets.ecore"
    name="resources"
    label="Resources">
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Doomph.redirection.platform.resources"
      value="=https://git.eclipse.org/c/platform/eclipse.platform.resources.git/plain/bundles/org.eclipse.core.resources.releng/platformResources.setup->${git.clone.platform.resources.location|uri}/bundles/org.eclipse.core.resources.releng/platformResources.setup"
      vm="true"/>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.platform.resources"
      remoteURI="platform/eclipse.platform.resources">
    <annotation
        source="http://www.eclipse.org/oomph/setup/InducedChoices">
      <detail
          key="inherit">
        <value>eclipse.git.gerrit.remoteURIs</value>
      </detail>
      <detail
          key="label">
        <value>Platform Resources Git or Gerrit Repository</value>
      </detail>
      <detail
          key="target">
        <value>remoteURI</value>
      </detail>
    </annotation>
    <configSections
        name="gerrit">
      <properties
          key="createchangeid"
          value="true"/>
    </configSections>
    <description>Platform Resources</description>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="Platform Resources"
        activeRepositoryList="${eclipse.target.platform}">
      <requirement
          name="*"/>
      <sourceLocator
          rootFolder="${git.clone.platform.resources.location}"
          locateNestedProjects="true">
        <predicate
            xsi:type="predicates:NotPredicate">
          <operand
              xsi:type="predicates:NamePredicate"
              pattern="org\.eclipse\.core\.tools\.resources">
            <annotation
                source="http://www.eclipse.org/oomph/base/Warning">
              <detail
                  key="diagnostic">
                <value>This bundle appears to be very old and no longer supported.</value>
              </detail>
            </annotation>
          </operand>
        </predicate>
      </sourceLocator>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask">
    <workingSet
        name="Platform Resources">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.core.resources"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//@setupTasks.3/@workingSets.1"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Platform Resources Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.core.resources"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*\.tests\.resources.*|org\.eclipse\.core\.resources\.spysupport"/>
      </predicate>
    </workingSet>
  </setupTask>
  <stream name="master"
      label="Master">
    <setupTask
        xsi:type="setup:VariableTask"
        name="eclipse.target.platform"
        value="Oxygen"
        storageURI="scope://Workspace"/>
  </stream>
  <logicalProjectContainer
      xsi:type="setup:Project"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']/@projects[name='platform']"/>
  <description>The Platform Resources support</description>
</setup:Project>
