<?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">
  <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="http://download.eclipse.org/cbi/updates/aggregator/ide/4.6/"/>
    <repository
        url="http://download.eclipse.org/egit/updates-stable-nightly"/>
    <repository
        url="http://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>
    <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="mylyn:MylynBuildsTask"
      serverURL="https://hudson.eclipse.org/simrel"
      userID="${bugzilla.id}"
      password="${eclipse.user.password}">
    <buildPlan
        name="simrel.${simrel.train.name}.runaggregator.BUILD"/>
    <buildPlan
        name="simrel.${simrel.train.name}.runaggregator.CLEAN_BUILD"/>
    <buildPlan
        name="simrel.${simrel.train.name}.runaggregator.VALIDATE"/>
    <buildPlan
        name="simrel.${simrel.train.name}.runaggregator.VALIDATE.gerrit"/>
  </setupTask>
  <stream name="master">
    <setupTask
        xsi:type="setup:VariableTask"
        name="simrel.train.name"
        value="oxygen"/>
  </stream>
  <stream name="Neon_maintenance">
    <setupTask
        xsi:type="setup:VariableTask"
        name="simrel.train.name"
        value="neon"/>
  </stream>
  <stream name="Mars_maintenance">
    <setupTask
        xsi:type="setup:VariableTask"
        name="simrel.train.name"
        value="mars"/>
  </stream>
  <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>
