<?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: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/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/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="gef.fx"
    label="GEF FX">
  <annotation
      source="http://www.eclipse.org/oomph/setup/ConfigurationReference">
    <reference
        href="GEFConfiguration.setup#/"/>
  </annotation>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="User Preferences">
    <annotation
        source="http://www.eclipse.org/oomph/setup/UserPreferences">
      <detail
          key="/instance/org.eclipse.pde.api.tools/missing_plugin_in_baseline">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde.api.tools/missing_default_api_profile">
        <value>record</value>
      </detail>
    </annotation>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.fx.ide.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.fx.ide.ui/javafx-sdk"
          value="${javafx.sdk.location-17/lib}"/>
    </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.api.tools">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde.api.tools/missing_default_api_profile"
          value="Warning"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde.api.tools/missing_plugin_in_baseline"
          value="Warning"/>
    </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>
    <defaultExecutionEnvironment>JavaSE-1.8</defaultExecutionEnvironment>
    <defaultExecutionEnvironment>JavaSE-11</defaultExecutionEnvironment>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Xmx"
      value="4048m"
      vm="true">
    <description>Set the heap space needed to work with the projects of ${scope.project.label}</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:ResourceCreationTask"
      excludedTriggers="STARTUP MANUAL"
      targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/GenerateDot.mwe2.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.emf.mwe2.launch.Mwe2LaunchConfigurationType&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;listAttribute key=&quot;org.eclipse.debug.core.MAPPED_RESOURCE_PATHS&quot;>
              &lt;listEntry value=&quot;/org.eclipse.gef.dot&quot;/>
          &lt;/listAttribute>
          &lt;listAttribute key=&quot;org.eclipse.debug.core.MAPPED_RESOURCE_TYPES&quot;>
              &lt;listEntry value=&quot;4&quot;/>
          &lt;/listAttribute>
          &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_EXCLUDE_TEST_CODE&quot; value=&quot;true&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;stringAttribute key=&quot;org.eclipse.jdt.launching.MAIN_TYPE&quot; value=&quot;org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.jdt.launching.MODULE_NAME&quot; value=&quot;org.eclipse.gef.dot&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.jdt.launching.PROGRAM_ARGUMENTS&quot; value=&quot;src/org/eclipse/gef/dot/internal/language/GenerateDot.mwe2&quot;/>
          &lt;stringAttribute key=&quot;org.eclipse.jdt.launching.PROJECT_ATTR&quot; value=&quot;org.eclipse.gef.dot&quot;/>
      &lt;/launchConfiguration>
    </content>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      value="${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.33.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.16.0">
    <description>The p2 update site URL for the last MWE release.</description>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="Xtext, Xtend, e(fx)clipse">
    <requirement
        name="org.eclipse.xtext.sdk.feature.group"/>
    <requirement
        name="org.eclipse.xtend.sdk.feature.group"/>
    <requirement
        name="org.eclipse.fx.ide.pde.feature.feature.group"/>
    <repository
        url="${xtext.latest.release.url}"/>
    <repository
        url="${mwe.latest.release.url}"/>
    <repository
        url="https://download.eclipse.org/efxclipse/updates-nightly/site/"/>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.gef.fx"
      remoteURI="eclipse-gef/gef">
    <annotation
        source="http://www.eclipse.org/oomph/setup/InducedChoices">
      <detail
          key="inherit">
        <value>github.remoteURIs</value>
      </detail>
      <detail
          key="label">
        <value>${scope.project.label} Git repository</value>
      </detail>
      <detail
          key="target">
        <value>remoteURI</value>
      </detail>
    </annotation>
    <configSections
        name="branch">
      <properties
          key="autoSetupRebase"
          value="always"/>
    </configSections>
    <description>${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:StringSubstitutionTask"
      name="git.clone.gef.fx.location"
      value="${git.clone.gef.fx.location}"/>
  <setupTask
      xsi:type="setup:VariableTask"
      type="FOLDER"
      name="javafx.sdk.location-17"
      label="JavaFX SDK location"
      link="https://gluonhq.com/products/javafx">
    <annotation
        source="http://www.eclipse.org/oomph/setup/GlobalVariable"/>
    <description>The location of the JavaFX SDK that matches the JDK.</description>
  </setupTask>
  <setupTask
      xsi:type="setup:StringSubstitutionTask"
      name="javafx.sdk.location"
      value="${javafx.sdk.location-17}"/>
  <setupTask
      xsi:type="setup:StringSubstitutionTask"
      name="jdk.sdk.location"
      value="${jre.location-17}"/>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="GEF"
        includeAllPlatforms="true"
        includeBinaryEquivalents="false">
      <annotation
          source="http:/www.eclipse.org/oomph/targlets/TargetDefinitionGenerator">
        <detail
            key="location">
          <value>${git.clone.gef.fx.location/org.eclipse.gef.target/}${eclipse.target.platform}.target</value>
        </detail>
        <detail
            key="generateVersions">
          <value>jakarta.annotation-api</value>
        </detail>
        <detail
            key="extraUnits">
          <value>jakarta.annotation-api_1.3.5,org.apache.commons.lang,org.apache.commons.logging</value>
        </detail>
        <detail
            key="singleLocation">
          <value>true</value>
        </detail>
        <detail
            key="sortLocations">
          <value>false</value>
        </detail>
        <detail
            key="includeAllPlatforms">
          <value>false</value>
        </detail>
        <detail
            key="includeSource">
          <value>true</value>
        </detail>
        <detail
            key="ignoreJavaRequirements">
          <value>false</value>
        </detail>
        <detail
            key="minimizeImplicitUnits">
          <value>false</value>
        </detail>
        <detail
            key="generateImplicitUnits">
          <value>false</value>
        </detail>
      </annotation>
      <requirement
          name="org.eclipse.sdk.feature.group"/>
      <requirement
          name="org.eclipse.emf.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtend.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtext.sdk.feature.group"/>
      <requirement
          name="org.apache.commons.logging"/>
      <requirement
          name="*"/>
      <sourceLocator
          rootFolder="${git.clone.gef.fx.location}"
          locateNestedProjects="true"/>
      <repositoryList>
        <repository
            url="https://download.eclipse.org/cbi/updates/license"/>
        <repository
            url="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/milestone/latest"/>
        <repository
            url="https://download.eclipse.org/efxclipse/runtime-released/3.9.0/site"/>
        <repository
            url="https://download.itemis.com/updates/releases/2.1.0"/>
        <repository
            url="https://download.eclipse.org/modeling/emf/emf/builds/milestone/latest"/>
        <repository
            url="${xtext.latest.release.url}"/>
        <repository
            url="${mwe.latest.release.url}"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsBuildTask"
      onlyNewProjects="true"/>
  <setupTask
      xsi:type="launching:LaunchTask"
      launcher="GenerateDot.mwe2"/>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask"
      id="gef.workingsets">
    <workingSet
        name="GEF Bundles">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'gef.workingsets'/@workingSets[name='GEF%20Examples'] //'gef.workingsets'/@workingSets[name='GEF%20Tests'] //'gef.workingsets'/@workingSets[name='GEF%20Documentation']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="GEF Documentation">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*\.doc.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="GEF Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*tests.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="GEF Features">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.FeatureNature"/>
      </predicate>
    </workingSet>
    <workingSet
        name="GEF Examples">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*example.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="GEF Releng">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.gef.releng"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'gef.workingsets'/@workingSets[name='GEF%20Bundles'] //'gef.workingsets'/@workingSets[name='GEF%20Features'] //'gef.workingsets'/@workingSets[name='GEF%20Examples'] //'gef.workingsets'/@workingSets[name='GEF%20Tests'] //'gef.workingsets'/@workingSets[name='GEF%20Documentation']"/>
      </predicate>
    </workingSet>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsBuildTask"
      onlyNewProjects="true"
      clean="true"/>
  <stream name="master"
      label="Master">
    <setupTask
        xsi:type="setup:EclipseIniTask"
        option="-Doomph.redirection.gef.fx"
        value="=https://raw.githubusercontent.com/eclipse-gef/gef/master/org.eclipse.gef.releng/GEF.setup->${git.clone.gef.fx.location|uri}/org.eclipse.gef.releng/GEF.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>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>Graphical Editing Framework for JavaFX</description>
</setup:Project>
