<?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 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/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"
    name="n4js"
    label="N4JS">
  <annotation
      source="http://www.eclipse.org/oomph/setup/BrandingInfo">
    <detail
        key="imageURI">
      <value>https://raw.githubusercontent.com/eclipse/n4js/master/plugins/org.eclipse.n4js.ide/icons/n4_logo_32.png</value>
    </detail>
    <detail
        key="siteURI">
      <value>https://projects.eclipse.org/projects/technology.n4js/</value>
    </detail>
  </annotation>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="User Preferences">
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.core.resources">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.core.resources/encoding"
          value="UTF-8"/>
    </setupTask>
    <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.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_ampersand_in_properties"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_digits"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_java_strings"
          value="false"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_mixed"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_non_letters"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_sentence"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_single_letters"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_upper"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_ignore_urls"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_locale"
          value="en_US"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_locale_initialized"
          value="true"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_problems_threshold"
          value="1000"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_proposal_threshold"
          value="20"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_user_dictionary"
          value="${git.clone.n4js.location/releng/org.eclipse.n4js.targetplatform/n4js.dict}"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_user_dictionary_encoding"
          value="UTF-8"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.ui.ide">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.ui.ide/LIMIT_PROBLEMS"
          value="false"/>
    </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>
  <setupTask
      xsi:type="jdt:JRETask"
      version="JavaSE-17"
      location="${jre.location-17}">
    <description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      excludedTriggers="STARTUP MANUAL"
      option="-Xmx"
      value="4096m"
      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="-Dosgi.requiredJavaVersion"
      value="=17"
      vm="true">
    <description></description>
  </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:VariableTask"
      name="eclipse.target.platform"
      value="None"
      storageURI="scope://Workspace"/>
  <setupTask
      xsi:type="setup:VariableTask"
      name="n4js.target.platform"
      defaultValue="N4JS_2023_03"
      storageURI="scope://Workspace">
    <choice
        value="N4JS_2023_03"
        label="N4JS_2023_03"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Platform">
    <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"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Xcore">
    <requirement
        name="org.eclipse.emf.ecore.xcore.sdk.feature.group"
        versionRange="[1.23.0,1.23.1)"/>
    <repository
        url="http://download.eclipse.org/modeling/emf/emf/builds/release/2.32"/>
    <description>Install EMF for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Xtext/Xtend">
    <requirement
        name="org.eclipse.xtend.sdk.feature.group"
        versionRange="[2.29.0,2.29.1)"/>
    <requirement
        name="org.eclipse.xtext.sdk.feature.group"
        versionRange="[2.29.0,2.29.1)"/>
    <repository
        url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.29.0"/>
    <description>Install Xtext and Xtend for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="ANTLR">
    <requirement
        name="de.itemis.xtext.antlr.sdk.feature.group"
        versionRange="[2.1.1,2.1.2)"/>
    <repository
        url="http://download.itemis.com/updates/releases/2.1.1"/>
    <description>Install ANTLR3 for Xtext</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="MWE">
    <requirement
        name="org.eclipse.emf.mwe2.language.sdk.feature.group"
        versionRange="[2.14.0,2.14.1)"/>
    <repository
        url="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.14.0"/>
    <description>Install MWE2 for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="XPect">
    <requirement
        name="org.eclipse.xpect.sdk.feature.group"
        versionRange="[0.2.0,0.2.1)"/>
    <repository
        url="https://ci.eclipse.org/xpect/job/Xpect-Integration-Release/22/artifact/org.eclipse.xpect.releng/p2-repository/target/repository/"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Stateful Lexer">
    <requirement
        name="de.itemis.statefullexer.feature.group"
        versionRange="[1.0.0,1.0.1)"/>
    <repository
        url="http://meysholdt.github.io/xtext_stateful_lexer/updatesite"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="M2E">
    <requirement
        name="org.eclipse.m2e.feature.feature.group"/>
    <repository
        url="https://download.eclipse.org/technology/m2e/releases/2.1.2"/>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.n4js"
      remoteURI="eclipse/n4js">
    <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="setup.targlets:TargletTask"
      locale="en"
      vmArguments="-Xmx4g&#xA;-Xmx4g">
    <targlet
        name="N4JS"
        activeRepositoryList="${n4js.target.platform}">
      <annotation
          source="http:/www.eclipse.org/oomph/targlets/TargetDefinitionGenerator">
        <detail
            key="location">
          <value>${git.clone.n4js.location/releng/org.eclipse.n4js.targetplatform/org.eclipse.n4js.targetplatform.target}</value>
        </detail>
        <detail
            key="extraUnits">
          <value>org.eclipse.equinox.executable.feature.group,javax.xml.stream</value>
        </detail>
        <detail
            key="singleLocation">
          <value>false</value>
        </detail>
        <detail
            key="includeAllPlatforms">
          <value>false</value>
        </detail>
        <detail
            key="includeSource">
          <value>true</value>
        </detail>
        <detail
            key="name">
          <value>Generated target-platform ${scope.project.label}:${n4js.target.platform}</value>
        </detail>
        <detail
            key="generateVersions">
          <value>true</value>
        </detail>
      </annotation>
      <requirement
          name="*"/>
      <sourceLocator
          rootFolder="${git.clone.n4js.location}"
          locateNestedProjects="true">
        <predicate
            xsi:type="predicates:NotPredicate">
          <operand
              xsi:type="predicates:OrPredicate">
            <operand
                xsi:type="predicates:NamePredicate"
                pattern="TestPrj"/>
          </operand>
        </predicate>
      </sourceLocator>
      <repositoryList
          name="N4JS_2023_03">
        <repository
            url="http://download.eclipse.org/releases/2023-03/202303151000"/>
        <repository
            url="http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.48.v20220622"/>
        <repository
            url="http://download.eclipse.org/modeling/emf/emf/builds/release/2.32"/>
        <repository
            url="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.14.0"/>
        <repository
            url="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315"/>
        <repository
            url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.29.0"/>
        <repository
            url="https://download.eclipse.org/tools/orbit/downloads/drops/R20210223232630/repository"/>
        <repository
            url="https://ci.eclipse.org/xpect/job/Xpect-Integration-Release/22/artifact/org.eclipse.xpect.releng/p2-repository/target/repository/"/>
        <repository
            url="http://download.eclipse.org/cbi/updates/license/1.0.1.v20140414-1359"/>
        <repository
            url="https://download.eclipse.org/webtools/downloads/drops/R3.15.0/R-3.15.0-20190830034720/repository"/>
        <repository
            url="http://download.eclipse.org/tm/updates/4.5.0/repository"/>
        <repository
            url="http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952"/>
        <repository
            url="http://download.eclipse.org/mpc/releases/1.9.3"/>
        <repository
            url="http://download.eclipse.org/usssdk/drops/release/1.2.2"/>
        <repository
            url="http://download.eclipse.org/lsp4j/updates/releases/0.19.0"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask">
    <workingSet
        name="N4JS Plugins">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/plugins/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="N4JS Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/tests/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="N4JS Test Helpers">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/testhelpers/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="N4JS Docs">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/docs/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="N4JS Releng">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/releng/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="N4JS n4js-libs">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.n4js.targetplatform"/>
        <operand
            xsi:type="predicates:LocationPredicate"
            pattern=".*/n4js-libs/.*"/>
      </predicate>
    </workingSet>
    <description>The dynamic working sets for ${scope.project.label}</description>
  </setupTask>
  <stream name="master"
      label="master (2023_03)"/>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='com.github']"/>
  <description>N4JS provides an IDE for typed Javascript.</description>
</setup:Project>
