<?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: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"
    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/predicates/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Projects.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="Groovy-Eclipse"
    label="Groovy-Eclipse">
  <setupTask
      xsi:type="setup:CompoundTask"
      name="User Preferences">
    <annotation
        source="http://www.eclipse.org/oomph/setup/UserPreferences"/>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.codehaus.groovy.eclipse.compilerResolver">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.codehaus.groovy.eclipse.compilerResolver/groovy.compiler.level"
          value="30"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.codehaus.groovy.eclipse.core">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.codehaus.groovy.eclipse.core/groovy.classpath.use.groovy.lib.global"
          value="false"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.codehaus.groovy.eclipse.dsl">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.codehaus.groovy.eclipse.dsl/org.codehaus.groovy.eclipse.dsl.auto.add.support"
          value="false"/>
    </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>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      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="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="jdt:JRETask"
      version="JavaSE-11"
      location="${jre.location-11}">
    <description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description>
  </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="jdt:JRETask"
      version="JavaSE-21"
      location="${jre.location-21}">
    <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="2025-12"
      storageURI="scope://Workspace"
      label="Target Platform">
    <choice
        value="2026-03"
        label="Eclipse 4.39 (2026-03)"/>
    <choice
        value="2025-12"
        label="Eclipse 4.38 (2025-12)"/>
    <choice
        value="2025-09"
        label="Eclipse 4.37 (2025-09)"/>
    <choice
        value="2025-06"
        label="Eclipse 4.36 (2025-06)"/>
    <choice
        value="2025-03"
        label="Eclipse 4.35 (2025-03)"/>
    <choice
        value="2024-12"
        label="Eclipse 4.34 (2024-12)"/>
    <description>Choose the compatibility level of the target platform</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.p2:P2Task"
      label="">
    <requirement
        name="org.eclipse.platform.source.feature.group"/>
    <requirement
        name="org.eclipse.jdt.source.feature.group"/>
    <requirement
        name="org.eclipse.m2e.feature.feature.group"/>
    <requirement
        name="org.eclipse.m2e.sdk.feature.feature.group"/>
    <requirement
        name="org.eclipse.oomph.setup.sdk.feature.group"/>
    <requirement
        name="org.eclipse.pde.source.feature.group"/>
    <requirement
        name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
    <requirement
        name="net.sf.eclipsecs.feature.group"
        optional="true"/>
    <repository
        url="https://checkstyle.org/eclipse-cs-update-site"/>
    <description></description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(| (scope.product.version.name=2026-03) (scope.product.version.name=latest))">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-release/e4.39"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(| (scope.product.version.name=2025-12) (scope.product.version.name=latest.released))">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-release/e4.38"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(scope.product.version.name=2025-09)">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-snapshot/e4.37"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(scope.product.version.name=2025-06)">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-release/e4.36"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(scope.product.version.name=2025-03)">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-release/e4.35"/>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      filter="(scope.product.version.name=2024-12)">
    <requirement
        name="org.codehaus.groovy.m2eclipse.feature.feature.group"/>
    <repository
        url="https://groovy.jfrog.io/artifactory/plugins-release/e4.34"/>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.Groovy-Eclipse"
      remoteURI="groovy/groovy-eclipse">
    <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="false"/>
    </configSections>
    <description>${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/base"
        locateNestedProjects="true"/>
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/base-test"
        locateNestedProjects="true">
      <excludedPath>org.eclipse.jdt.groovy.core.tests.builder/workspace/ScriptFoldersProject</excludedPath>
      <excludedPath>org.eclipse.jdt.groovy.core.tests.builder/workspace/ScriptFoldersProject2</excludedPath>
    </sourceLocator>
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/ide"
        locateNestedProjects="true"/>
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/ide-test"
        locateNestedProjects="true"/>
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/extras"
        locateNestedProjects="true">
      <excludedPath>groovy-eclipse-maven-tests</excludedPath>
      <excludedPath>groovy-eclipse-quickstart</excludedPath>
    </sourceLocator>
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/Site-org.codehaus.groovy.eclipse"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2026-03)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e439"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2025-12)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e438"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2025-09)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e437"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2025-06)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e436"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2025-03)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e435"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask"
      filter="(eclipse.target.platform=2024-12)">
    <sourceLocator
        rootFolder="${git.clone.Groovy-Eclipse.location}/jdt-patch/e434"
        locateNestedProjects="true"/>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="Eclipse ${eclipse.target.platform}"
        activeRepositoryList="${eclipse.target.platform}">
      <requirement
          name="org.eclipse.platform.source.feature.group"/>
      <requirement
          name="org.eclipse.jdt.source.feature.group"/>
      <requirement
          name="org.eclipse.m2e.feature.feature.group"/>
      <requirement
          name="org.eclipse.m2e.sdk.feature.feature.group"/>
      <requirement
          name="org.eclipse.pde.source.feature.group"/>
      <requirement
          name="org.eclipse.buildship.feature.group"/>
      <requirement
          name="org.eclipse.test.feature.group"/>
      <repositoryList
          name="2026-03">
        <repository
            url="https://download.eclipse.org/releases/2026-03"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.39"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.39-I-builds/I20260226-0420"/>
      </repositoryList>
      <repositoryList
          name="2025-12">
        <repository
            url="https://download.eclipse.org/releases/2025-12"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.38"/>
      </repositoryList>
      <repositoryList
          name="2025-09">
        <repository
            url="https://download.eclipse.org/releases/2025-09"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.37"/>
      </repositoryList>
      <repositoryList
          name="2025-06">
        <repository
            url="https://download.eclipse.org/releases/2025-06"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.36"/>
      </repositoryList>
      <repositoryList
          name="2025-03">
        <repository
            url="https://download.eclipse.org/releases/2025-03"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.35"/>
      </repositoryList>
      <repositoryList
          name="2024-12">
        <repository
            url="https://download.eclipse.org/releases/2024-12"/>
        <repository
            url="https://download.eclipse.org/eclipse/updates/4.34"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask"
      id="GreclipseWorkingSets">
    <workingSet
        name="RT">
      <predicate
          xsi:type="predicates:NamePredicate"
          pattern="org\.codehaus\.groovy\d+"/>
    </workingSet>
    <workingSet
        name="JDT">
      <predicate
          xsi:type="predicates:NamePredicate"
          pattern="org\.eclipse\.jdt\..*"/>
    </workingSet>
    <workingSet
        name="IDE">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:NamePredicate"
            pattern="org\.codehaus\.groovy\.(m2)?eclipse.*"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'GreclipseWorkingSets'/@workingSets[name='Tests']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Tests">
      <predicate
          xsi:type="predicates:LocationPredicate"
          pattern=".*/ide-test/.*"/>
    </workingSet>
    <workingSet
        name="Features">
      <predicate
          xsi:type="predicates:OrPredicate">
        <operand
            xsi:type="predicates:NamePredicate"
            pattern="Feature.*"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern="Site.*"/>
      </predicate>
    </workingSet>
  </setupTask>
  <stream name="master"
      label="Master">
    <setupTask
        xsi:type="setup:EclipseIniTask"
        option="-Doomph.redirection.Groovy-Eclipse"
        value="=https://raw.githubusercontent.com/groovy/groovy-eclipse/master/groovy-eclipse.setup->${git.clone.Groovy-Eclipse.location|uri}/groovy-eclipse.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.
        This means that you can test local setup modifications before pushing these modifications to github.
      </description>
    </setupTask>
  </stream>
  <description>Groovy-Eclipse provides Eclipse and Maven tooling support for the Apache Groovy programming language.</description>
</setup:Project>
