<?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:launching="http://www.eclipse.org/oomph/setup/launching/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"
    xmlns:workingsets="http://www.eclipse.org/oomph/workingsets/1.0"
    xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/JDT.ecore http://www.eclipse.org/oomph/setup/launching/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Launching.ecore http://www.eclipse.org/oomph/predicates/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupWorkingSets.ecore http://www.eclipse.org/oomph/workingsets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/WorkingSets.ecore"
    name="xpect"
    label="Xpect">
  <annotation
      source="http://www.eclipse.org/oomph/setup/ConfigurationReference">
    <reference
        href="XpectConfiguration.setup#/"/>
  </annotation>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="User Preferences">
    <annotation
        source="http://www.eclipse.org/oomph/setup/UserPreferences">
      <detail
          key="/instance/org.eclipse.core.runtime/line.separator">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde/compilers.p.deprecated">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde/compilers.p.discouraged-class">
        <value>record</value>
      </detail>
    </annotation>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.core.runtime">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.core.runtime/line.separator"
          value="&#xA;"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.jdt.launching">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE"
          value="ignore"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
          value="ignore"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.oomph.setup.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions"
          value="true"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.pde">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde/compilers.p.deprecated"
          value="2"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde/compilers.p.discouraged-class"
          value="2"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low"
          value="2"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="User Preferences">
      <annotation
          source="http://www.eclipse.org/oomph/setup/UserPreferences">
        <detail
            key="/instance/org.eclipse.core.runtime/line.separator">
          <value>record</value>
        </detail>
        <detail
            key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions">
          <value>record</value>
        </detail>
        <detail
            key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE">
          <value>record</value>
        </detail>
        <detail
            key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low">
          <value>record</value>
        </detail>
        <detail
            key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE">
          <value>record</value>
        </detail>
      </annotation>
      <setupTask
          xsi:type="setup:CompoundTask"
          name="org.eclipse.core.runtime">
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.core.runtime/line.separator"
            value="&#xA;"/>
      </setupTask>
      <setupTask
          xsi:type="setup:CompoundTask"
          name="org.eclipse.jdt.launching">
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE"
            value="ignore"/>
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
            value="ignore"/>
      </setupTask>
      <setupTask
          xsi:type="setup:CompoundTask"
          name="org.eclipse.oomph.setup.ui">
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions"
            value="true"/>
      </setupTask>
      <setupTask
          xsi:type="setup:CompoundTask"
          name="org.eclipse.pde">
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low"
            value="2"/>
      </setupTask>
    </setupTask>
  </setupTask>
  <setupTask
      xsi:type="jdt:JRETask"
      version="JavaSE-17"
      location="${jre.location-17}"
      name="JRE for JavaSE-17">
    <description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Xmx"
      value="2048m"
      vm="true">
    <description>Set the heap space needed to work with the projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      defaultValue="${eclipse.target.platform.latest}"
      storageURI="scope://Workspace"/>
  <setupTask
      xsi:type="setup:VariableTask"
      name="xtext.latest.release.url"
      value="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.32.0">
    <description>The p2 update site URL for the last Xtext release.</description>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="mwe.latest.release.url"
      value="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.15.0">
    <description>The p2 update site URL for the last MWE release.</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Xtext">
    <requirement
        name="org.eclipse.xtext.sdk.feature.group"/>
    <requirement
        name="org.eclipse.xtend.sdk.feature.group"/>
    <requirement
        name="org.eclipse.m2e.feature.feature.group"/>
    <requirement
        name="org.eclipse.m2e.pde.feature.feature.group"/>
    <requirement
        name="org.eclipse.emf.sdk.feature.group"/>
    <repository
        url="${xtext.latest.release.url}"/>
    <repository
        url="${mwe.latest.release.url}"/>
    <repository
        url="https://download.eclipse.org/releases/${eclipse.target.platform}"/>
  </setupTask>
  <setupTask
      xsi:type="setup:ResourceCreationTask"
      excludedTriggers="STARTUP MANUAL"
      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>
    <content>
      &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
      &lt;section name=&quot;Workbench&quot;>
      	&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>
      		&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>
      		&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>
      		&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>
      		&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>
      		&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;/>
      	&lt;/section>
      &lt;/section>

    </content>
  </setupTask>
  <setupTask
      xsi:type="setup:ResourceCreationTask"
      excludedTriggers="STARTUP MANUAL"
      force="true"
      targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/Xpect-generate.launch"
      encoding="UTF-8">
    <description>Initialize JDT's package explorer to show working sets as its root objects</description>
    <content>
      &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?>
      &lt;launchConfiguration type=&quot;org.eclipse.m2e.Maven2LaunchConfigurationType&quot;>
          &lt;intAttribute key=&quot;M2_COLORS&quot; value=&quot;0&quot;/>
          &lt;booleanAttribute key=&quot;M2_DEBUG_OUTPUT&quot; value=&quot;false&quot;/>
          &lt;stringAttribute key=&quot;M2_GOALS&quot; value=&quot;clean verify&quot;/>
          &lt;booleanAttribute key=&quot;M2_NON_RECURSIVE&quot; value=&quot;false&quot;/>
          &lt;booleanAttribute key=&quot;M2_OFFLINE&quot; value=&quot;false&quot;/>
          &lt;stringAttribute key=&quot;M2_PROFILES&quot; value=&quot;!promote&quot;/>
          &lt;listAttribute key=&quot;M2_PROPERTIES&quot;>
              &lt;listEntry value=&quot;target-platform=xpect_r202403&quot;/>
              &lt;listEntry value=&quot;user.home=$${system_property:user.home}&quot;/>
              &lt;listEntry value=&quot;tycho-version=4.0.10&quot;/>
          &lt;/listAttribute>
          &lt;stringAttribute key=&quot;M2_RUNTIME&quot; value=&quot;EMBEDDED&quot;/>
          &lt;booleanAttribute key=&quot;M2_SKIP_TESTS&quot; value=&quot;true&quot;/>
          &lt;intAttribute key=&quot;M2_THREADS&quot; value=&quot;1&quot;/>
          &lt;booleanAttribute key=&quot;M2_UPDATE_SNAPSHOTS&quot; value=&quot;true&quot;/>
          &lt;stringAttribute key=&quot;M2_USER_SETTINGS&quot; value=&quot;&quot;/>
          &lt;booleanAttribute key=&quot;M2_WORKSPACE_RESOLUTION&quot; value=&quot;false&quot;/>
          &lt;booleanAttribute key=&quot;org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING&quot; value=&quot;false&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.debug.core.ATTR_REFRESH_SCOPE&quot; value=&quot;$${workspace}&quot;/>
          &lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE&quot; value=&quot;false&quot;/>
          &lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES&quot; value=&quot;true&quot;/>
          &lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR&quot; value=&quot;false&quot;/>
          &lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD&quot; value=&quot;true&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; value=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.jdt.launching.WORKING_DIRECTORY&quot; value=&quot;${git.clone.xpect.location}&quot;/>
      &lt;/launchConfiguration>

    </content>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.xpect"
      remoteURI="eclipse-xpect/Xpect">
    <annotation
        source="http://www.eclipse.org/oomph/setup/InducedChoices">
      <detail
          key="inherit">
        <value>github.remoteURIs</value>
      </detail>
      <detail
          key="label">
        <value>${scope.project.label} GitHub repository</value>
      </detail>
      <detail
          key="target">
        <value>remoteURI</value>
      </detail>
    </annotation>
    <configSections
        name="core">
      <properties
          key="autocrlf"
          value="input"/>
    </configSections>
    <description>${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="launching:LaunchTask"
      launcher="Xpect-generate"/>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="Xpect">
      <requirement
          name="*"/>
      <requirement
          name="org.eclipse.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtext.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtend.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtext.xtext.generator"/>
      <sourceLocator
          rootFolder="${git.clone.xpect.location}"
          locateNestedProjects="true">
        <predicate
            xsi:type="predicates:NotPredicate">
          <operand
              xsi:type="predicates:NamePredicate"
              pattern="default_.*"/>
        </predicate>
      </sourceLocator>
      <repositoryList>
        <repository
            url="https://download.itemis.com/updates/releases/2.1.0"/>
        <repository
            url="https://download.eclipse.org/cbi/updates/license"/>
        <repository
            url="https://download.eclipse.org/releases/${eclipse.target.platform}"/>
        <repository
            url="${xtext.latest.release.url}"/>
        <repository
            url="${mwe.latest.release.url}"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask"
      id="xpect.workingsets"
      prefix="org.eclipse.xpect-">
    <workingSet
        name="Xpect Plugins">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.xpect"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'xpect.workingsets'/@workingSets[name='Xpect%20Tests'] //'xpect.workingsets'/@workingSets[name='Xpect%20Examples']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Xpect Examples">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*example.*"/>
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.xpect"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'xpect.workingsets'/@workingSets[name='Xpect%20Tests']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Xpect Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*tests"/>
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.xpect"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Xpect Features">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.xpect"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.FeatureNature"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Xpect Releng">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.xpect"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'xpect.workingsets'/@workingSets[name='Xpect%20Features'] //'xpect.workingsets'/@workingSets[name='Xpect%20Plugins'] //'xpect.workingsets'/@workingSets[name='Xpect%20Tests'] //'xpect.workingsets'/@workingSets[name='Xpect%20Examples']"/>
      </predicate>
    </workingSet>
    <description>The dynamic working sets for ${scope.project.label}</description>
  </setupTask>
  <stream name="master"
      label="Master">
    <setupTask
        xsi:type="setup:EclipseIniTask"
        option="-Doomph.redirection.xpect.git"
        value="=https://raw.githubusercontent.com/eclipse-xpect/Xpect/master/org.eclipse.xpect.releng/Xpect.setup->${git.clone.xpect.location|uri}/org.eclipse.xpect.releng/Xpect.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.
        Before enabling this task, replace '...' with the repository path of this setup's containing project.
      </description>
    </setupTask>
  </stream>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>Xpect provides a development environment for working with Xpect's projects.</description>
</setup:Project>
