<?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:mylyn="http://www.eclipse.org/oomph/setup/mylyn/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/setup/mylyn/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Mylyn.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="javamm"
    label="Javamm">
  <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="setup:EclipseIniTask"
      option="-Xmx"
      value="1024m"
      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="-XX:ReservedCodeCacheSize="
      value="128m"
      vm="true">
    <description>Set the ReservedCodeCacheSize to work with the projects of ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:EclipseIniTask"
      option="-Doomph.redirection.javamm="
      value="https://raw.githubusercontent.com/LorenzoBettini/javamm/master/javamm.workspace/Javamm.setup->${git.clone.location|uri}/javamm.workspace/Javamm.setup"
      vm="true"/>
  <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_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
        value="ignore"/>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="org.eclipse.mylyn.team.ui">
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.mylyn.team.ui/org.eclipse.mylyn.team.commit.template"
        value="$${task.key}: $${task.description}&#xD;&#xA;&#xD;&#xA;Task-Url: $${task.url}"/>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="org.eclipse.debug.ui">
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.debug.ui/org.eclipse.debug.ui.cancel_launch_with_compile_errors"
        value="always"/>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="org.eclipse.ui.ide">
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.ui.ide/IMPORT_FILES_AND_FOLDERS_MODE"
        value="prompt"/>
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.ui.ide/IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE"
        value="prompt"/>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="org.eclipse.core.resources">
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.core.resources/description.disableLinking"
        value="false"/>
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.core.resources/encoding"
        value="UTF-8"/>
    <setupTask
        xsi:type="setup:PreferenceTask"
        key="/instance/org.eclipse.core.resources/refresh.lightweight.enabled"
        value="false"/>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      defaultValue="2022-06"
      storageURI="scope://Workspace"/>
  <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="Eclipse IDE Plugins">
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="Eclipse SDK">
      <requirement
          name="org.eclipse.sdk.feature.group"/>
      <requirement
          name="org.eclipse.wst.xml_ui.feature.feature.group"/>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        id="p2.egit"
        label="EGit"
        licenseConfirmationDisabled="true">
      <requirement
          name="org.eclipse.egit.feature.group"/>
      <repository
          url="https://download.eclipse.org/egit/updates"/>
      <description>Git connector</description>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="EMF">
      <requirement
          name="org.eclipse.emf.sdk.feature.group"/>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        id="p2.m2e"
        label="M2E"
        licenseConfirmationDisabled="true">
      <requirement
          name="org.eclipse.m2e.feature.feature.group"/>
      <requirement
          name="org.sonatype.m2e.buildhelper.feature.feature.group"/>
      <repository
          url="https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-buildhelper/0.15.0/N/0.15.0.201207090124/"/>
      <description>Maven connector</description>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        id="p2.mylyn"
        label="Mylyn"
        licenseConfirmationDisabled="true">
      <requirement
          name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.builds.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.context_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.discovery.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.gerrit.feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.git.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.github.feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.hudson.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.ide_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.java_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.monitor.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.pde_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.tasks.ide.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.team_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
      <requirement
          name="org.eclipse.mylyn_feature.feature.group"/>
      <requirement
          name="org.eclipse.egit.mylyn.feature.group"/>
      <repository
          url="https://download.eclipse.org/egit/github/updates"/>
      <repository
          url="https://download.eclipse.org/mylyn/releases/latest"/>
      <description>Task and build connector</description>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="Oomph Extensions">
      <requirement
          name="org.eclipse.oomph.setup.git.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.jdt.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.maven.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.mylyn.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.pde.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.projectset.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.projects.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.targlets.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.ui.ide.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.workbench.feature.group"/>
      <requirement
          name="org.eclipse.oomph.setup.workingsets.feature.group"/>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        id="p2.swtbot"
        label="SWTBot"
        licenseConfirmationDisabled="true">
      <requirement
          name="org.eclipse.swtbot.eclipse.feature.group"/>
      <requirement
          name="org.eclipse.swtbot.ide.feature.group"/>
      <requirement
          name="org.eclipse.swtbot.generator.feature.feature.group"/>
      <repository
          url="https://download.eclipse.org/technology/swtbot/releases/latest/"/>
      <description>UI testing framework</description>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="Eclemma Jacoco">
      <requirement
          name="org.eclipse.eclemma.feature.feature.group"/>
    </setupTask>
    <setupTask
        xsi:type="setup.p2:P2Task"
        label="Sonar">
      <requirement
          name="org.sonarlint.eclipse.feature.feature.group"/>
      <repository
          url="https://eclipse-uc.sonarlint.org/"/>
    </setupTask>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone"
      remoteURI="LorenzoBettini/javamm">
    <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>
    <description>${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="${scope.project.label}"
        activeRepositoryList="${eclipse.target.platform}">
      <requirement
          name="javamm.workspace.feature.group"/>
      <requirement
          name="org.eclipse.sdk.feature.group"/>
      <requirement
          name="org.eclipse.emf.sdk.feature.group"/>
      <requirement
          name="org.eclipse.xtext.sdk.feature.group"/>
      <requirement
          name="org.eclipse.emf.mwe2.language.sdk.feature.group"/>
      <requirement
          name="org.eclipse.emf.mwe2.runtime.sdk.feature.group"/>
      <requirement
          name="de.itemis.xtext.antlr.feature.feature.group"/>
      <requirement
          name="jbase.sdk.feature.group"/>
      <sourceLocator
          rootFolder="${git.clone.location}"/>
      <repositoryList
          name="2022-06">
        <repository
            url="https://download.eclipse.org/releases/2022-06"/>
        <repository
            url="https://download.itemis.com/updates/releases/2.1.1/"/>
        <repository
            url="${xtext.site}"/>
        <repository
            url="${mwe2.site}"/>
        <repository
            url="${jbase.site}"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask">
    <workingSet
        name="Examples">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="javamm.sdk"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*\.examples(\..*)?"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="javamm.sdk"/>
        <operand
            xsi:type="predicates:NamePredicate"
            pattern=".*\.tests(\..*)?"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//@setupTasks.14/@workingSets[name='Examples']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Releng">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="javamm.sdk"/>
        <operand
            xsi:type="predicates:OrPredicate">
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.workspace"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.site"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.parent"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.targetplatform"/>
          <operand
              xsi:type="predicates:NamePredicate"
              pattern=".*\.releng"/>
        </operand>
      </predicate>
    </workingSet>
    <workingSet
        name="Features">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="javamm.sdk"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//@setupTasks.14/@workingSets[name='Examples'] //@setupTasks.14/@workingSets[name='Tests'] //@setupTasks.14/@workingSets[name='Releng']"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.FeatureNature"/>
      </predicate>
    </workingSet>
    <workingSet
        name="Bundles">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="javamm.sdk"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//@setupTasks.14/@workingSets[name='Examples'] //@setupTasks.14/@workingSets[name='Tests']"/>
        <operand
            xsi:type="predicates:NaturePredicate"
            nature="org.eclipse.pde.PluginNature"/>
      </predicate>
    </workingSet>
    <description>The dynamic working sets for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsBuildTask"
      refresh="true"/>
  <setupTask
      xsi:type="launching:LaunchTask"
      id="GenerateJavamm"
      launcher="Generate Language Infrastructure (javamm)"/>
  <setupTask
      xsi:type="launching:LaunchTask"
      id="GenerateExamplesZips"
      launcher="Build Zips">
    <description>Generate Zips of Examples</description>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsBuildTask"
      id="CleanBuild"
      refresh="true"
      clean="true"/>
  <setupTask
      xsi:type="setup:VariableTask"
      id="github.user.password"
      type="PASSWORD"
      name="github.user.password"
      label="Github user password">
    <description>Github user password</description>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="Mylyn Github Issues">
    <setupTask
        xsi:type="mylyn:MylynQueriesTask"
        connectorKind="github"
        repositoryURL="https://github.com/LorenzoBettini/javamm"
        userID="${github.user.id}"
        password="${github.user.password}">
      <query
          summary="Javamm Issues"
          url="">
        <attribute
            key="state"
            value="open::"/>
      </query>
    </setupTask>
  </setupTask>
  <stream name="master">
    <setupTask
        xsi:type="setup:VariableTask"
        name="mwe2.site"
        value="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.13.0"/>
    <setupTask
        xsi:type="setup:VariableTask"
        name="xtext.site"
        value="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.27.0/"/>
    <setupTask
        xsi:type="setup:VariableTask"
        name="jbase.site"
        value="https://lorenzobettini.github.io/jbase-releases/updates/1.x/1.1.x/"/>
    <setupTask
        xsi:type="setup.p2:P2Task"
        id="p2.org.eclipse.xtext"
        label="Xtext Releases"
        licenseConfirmationDisabled="true">
      <requirement
          name="org.eclipse.xtext.sdk.feature.group"
          versionRange="[2.27.0,2.28.0)"/>
      <requirement
          name="de.itemis.xtext.antlr.feature.feature.group"/>
      <repository
          url="${xtext.site}"/>
      <repository
          url="${mwe2.site}"/>
      <repository
          url="https://download.itemis.com/updates/releases/2.1.1/"/>
      <description>Xtext &amp; Xtend</description>
    </setupTask>
  </stream>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='com.github']"/>
  <description>Javamm</description>
</setup:Project>
