<?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: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.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
    xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/mylyn/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Mylyn.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Projects.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore"
    name="simrel"
    label="Simultaneous Release Train">
  <annotation
      source="ConfigurationReference">
    <reference
        href="SimultaneousReleaseTrainConfiguration.setup#/"/>
  </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/refresh.enabled"
          value="true"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.egit.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.egit.ui/commit_dialog_signed_off_by"
          value="true">
        <description>Insert Signed-off-by Footer</description>
      </setupTask>
    </setupTask>
  </setupTask>
  <setupTask
      xsi:type="setup.p2:P2Task"
      label="${scope.project.label}">
    <requirement
        name="org.eclipse.cbi.p2repo.aggregator.editor.feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.ide_feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.pde_feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.team_feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.gerrit.feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn_feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.git.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.builds.feature.group"/>
    <requirement
        name="org.eclipse.mylyn.hudson.feature.group"/>
    <requirement
        name="org.eclipse.egit.feature.group"/>
    <requirement
        name="org.eclipse.egit.mylyn.feature.group"/>
    <repository
        url="https://download.eclipse.org/cbi/updates/aggregator/ide/4.13"/>
    <repository
        url="https://download.eclipse.org/egit/updates-stable-nightly"/>
    <repository
        url="https://download.eclipse.org/mylyn/snapshots/weekly"/>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.target.platform"
      value="None"/>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone"
      remoteURI="simrel/org.eclipse.simrel.build">
    <annotation
        source="http://www.eclipse.org/oomph/setup/InducedChoices">
      <detail
          key="inherit">
        <value>eclipse.gerrit.remoteURIs</value>
      </detail>
      <detail
          key="label">
        <value>${scope.project.label} Gerrit repository</value>
      </detail>
      <detail
          key="target">
        <value>remoteURI</value>
      </detail>
    </annotation>
    <configSections
        name="gerrit">
      <properties
          key="createchangeid"
          value="true"/>
    </configSections>
    <description>${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="projects:ProjectsImportTask">
    <sourceLocator
        rootFolder="${git.clone.location}"/>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask">
    <workingSet
        name="${scope.project.label}">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:NamePredicate"
            pattern="org\.eclipse\.simrel\.build"/>
      </predicate>
    </workingSet>
    <description>The dynamic working sets for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="mylyn:MylynQueriesTask"
      repositoryURL="https://bugs.eclipse.org/bugs"
      userID="${bugzilla.id}"
      password="${eclipse.user.password}">
    <query summary="${scope.project.label} Bugs in ${git.clone.checkoutBranch}"
        url="https://bugs.eclipse.org/bugs/buglist.cgi?product=Simultaneous%20Release&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED"/>
  </setupTask>
  <setupTask
      xsi:type="mylyn:MylynQueriesTask"
      connectorKind="org.eclipse.mylyn.gerrit"
      repositoryURL="https://git.eclipse.org/r"
      userID="${bugzilla.id}"
      password="${eclipse.user.password}">
    <query summary="${scope.project.label} Reviews in ${git.clone.checkoutBranch}">
      <attribute
          key="gerrit query type"
          value="custom"/>
      <attribute
          key="gerrit query project"
          value="simrel/org.eclipse.simrel.build"/>
      <attribute
          key="gerrit query string"
          value="project:simrel/org.eclipse.simrel.build status:open branch:${git.clone.checkoutBranch}"/>
    </query>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.git.authentication.style"
      value="ssh"/>
  <stream name="master"/>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>The Simultaneous Release Train provides the yearly simultaneous releases of the participating Eclipse projects.</description>
</setup:Project>
