<?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="windowbuilder"
    label="Window Builder">
  <annotation
      source="http://www.eclipse.org/oomph/setup/ConfigurationReference">
    <reference
        href="WindowBuilderConfiguration.setup#/"/>
  </annotation>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Xmx"
      value="2048m"
      vm="true">
    <description>Set the heap space needed to work with the Window Builder projects</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:CompoundTask"
      name="User Preferences">
    <annotation
        source="http://www.eclipse.org/oomph/setup/UserPreferences">
      <detail
          key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.oomph.setup.ui/p2.startup.tasks">
        <value>record</value>
      </detail>
    </annotation>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.jdt.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.ui/spelling_user_dictionary"
          value="${git.clone.windowbuilder.location/org.eclipse.wb.core/dictionary.txt}"/>
    </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="setup:VariableTask"
      name="eclipse.target.platform"
      value="${eclipse.target.platform.latest}"
      storageURI="scope://Workspace"/>
  <project name="core"
      label="Core">
    <setupTask
        xsi:type="jdt:JRETask"
        version="JavaSE-21"
        location="${jre.location-21}"
        name="JRE for JavaSE-21">
      <description>Define the JRE needed to compile and run the Window Builder Java projects</description>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="Window Builder Tools">
      <requirement
          name="org.eclipse.m2e.feature.feature.group"/>
      <requirement
          name="org.eclipse.buildship.feature.group"/>
      <requirement
          name="org.eclipse.wb.dev"/>
      <requirement
          name="com.github.spotbugs.plugin.eclipse.feature.group"/>
      <repository
          url="https://download.eclipse.org/windowbuilder/updates/nightly/latest/"/>
      <repository
          url="https://download.eclipse.org/technology/m2e/releases/latest/"/>
      <repository
          url="https://spotbugs.github.io/eclipse-latest/"/>
      <description>Install the tools needed in the IDE to work with the source code for Window Builder</description>
    </setupTask>
    <setupTask
        xsi:type="git:GitCloneTask"
        id="git.clone.windowbuilder"
        remoteURI="eclipse-windowbuilder/windowbuilder">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>github.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>The Window Builder GitHub repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <description>The GitHub repository for the Window Builder Projects</description>
    </setupTask>
    <setupTask
        xsi:type="projects:ProjectsImportTask">
      <sourceLocator
          rootFolder="${git.clone.windowbuilder.location/target-platform}"/>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="Window Builder"
          includeAllPlatforms="true">
        <requirement
            name="org.eclipse.sdk.feature.group"/>
        <requirement
            name="*"/>
        <sourceLocator
            rootFolder="${git.clone.windowbuilder.location}"
            locateNestedProjects="true"/>
        <repositoryList>
          <repository
              url="https://download.eclipse.org/releases/${eclipse.target.platform.latest}"/>
          <repository
              url="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/${eclipse.target.platform.latest}"/>
          <repository
              url="https://download.eclipse.org/cbi/updates/license"/>
          <repository
              url="https://download.eclipse.org/nebula/snapshot/"/>
          <repository
              url="https://download.eclipse.org/nebula/incubation/snapshot/"/>
        </repositoryList>
      </targlet>
      <composedTarget>wb-mvn</composedTarget>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask"
        id="windowbuilder.workingsets"
        prefix="org.eclipse.windowbuilder-">
      <workingSet
          name="Window Builder Plugins">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="workingsets:ExclusionPredicate"
              excludedWorkingSet="//'windowbuilder.workingsets'/@workingSets[name='Window%20Builder%20Features'] //'windowbuilder.workingsets'/@workingSets[name='Window%20Builder%20Releng'] //'windowbuilder.workingsets'/@workingSets[name='Window%20Builder%20Tests'] //'windowbuilder.workingsets'/@workingSets[name='Window%20Builder%20Docs'] //'windowbuilder.workingsets'/@workingSets[name='Window%20Builder%20Examples']"/>
        </predicate>
      </workingSet>
      <workingSet
          name="Window Builder Tests">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.test.*"/>
        </predicate>
      </workingSet>
      <workingSet
          name="Window Builder Features">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="predicates:NaturePredicate"
              nature="org.eclipse.pde.FeatureNature"/>
        </predicate>
      </workingSet>
      <workingSet
          name="Window Builder Releng">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern="org\.eclipse\.wb\.releng.*|org\.eclipse\.windowbuilder"/>
        </predicate>
      </workingSet>
      <workingSet
          name="Window Builder Docs"
          id="">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*.doc.user"/>
        </predicate>
      </workingSet>
      <workingSet
          name="Window Builder Examples">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="org.eclipse.wb.core"/>
          <operand
              xsi:type="predicates:LocationPredicate"
              pattern="${git.clone.windowbuilder.location/examples/.*}"/>
        </predicate>
      </workingSet>
      <description>The dynamic working sets for the Window Builder projects</description>
    </setupTask>
    <stream
        name="master"
        label="Master">
      <setupTask
          xsi:type="setup:EclipseIniTask"
          option="-Doomph.redirection.windowbuilder"
          value="=https://raw.githubusercontent.com/eclipse/windowbuilder/master/setups/->${git.clone.windowbuilder.location|uri}/setups/"
          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>
    <description>The tools and runtime for Windows Builder</description>
  </project>
  <project name="website"
      label="Website">
    <setupTask
        xsi:type="git:GitCloneTask"
        id="github.clone.www.eclipse.org.wb"
        remoteURI="eclipse-windowbuilder/windowbuilder-website-source">
      <annotation
          source="http://www.eclipse.org/oomph/setup/InducedChoices">
        <detail
            key="inherit">
          <value>github.remoteURIs</value>
        </detail>
        <detail
            key="label">
          <value>The Window Builder Website GitHub repository</value>
        </detail>
        <detail
            key="target">
          <value>remoteURI</value>
        </detail>
      </annotation>
      <description>The GitHub repository of the Window Builder website</description>
    </setupTask>
    <setupTask
        xsi:type="setup.targlets:TargletTask">
      <targlet
          name="Window Builder Website">
        <requirement
            name="*"/>
        <sourceLocator
            rootFolder="${github.clone.www.eclipse.org.wb.location}"
            locateNestedProjects="true"/>
      </targlet>
    </setupTask>
    <setupTask
        xsi:type="setup.workingsets:WorkingSetTask"
        id="windowbuilder.website.workingsets"
        prefix="org.eclipse.windowbuilder-">
      <workingSet
          name="Window Builder Website">
        <predicate
            xsi:type="predicates:AndPredicate">
          <operand
              xsi:type="predicates:RepositoryPredicate"
              project="windowbuilder"/>
        </predicate>
      </workingSet>
      <description>The dynamic working sets for Window Builder website projects</description>
    </setupTask>
    <stream
        name="master"
        label="Master"/>
    <description>The Window Builder Eclipse Website</description>
  </project>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>Window Builder provides cool stuff.</description>
</setup:Project>
