<?xml version="1.0" encoding="UTF-8"?>
<setup:Configuration
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
    label="Simultaneous Release Train">
  <annotation
      source="http://www.eclipse.org/oomph/setup/BrandingInfo">
    <detail
        key="imageURI">
      <value>https://git.eclipse.org/c/cbi/org.eclipse.cbi.p2repo.aggregator.git/plain/org.eclipse.cbi.p2repo.aggregator.editor/icons/full/wizban/NewAggregator.png</value>
    </detail>
    <detail
        key="siteURI">
      <value>https://wiki.eclipse.org/Simrel/Contributing_to_Simrel_Aggregation_Build</value>
    </detail>
  </annotation>
  <installation
      name="simultaneous.release.train.installation"
      label="Simultaneous Release Train Installation">
    <setupTask
        xsi:type="setup:VariableTask"
        name="installation.id.default"
        value="simrel"/>
    <productVersion
        href="index:/org.eclipse.setup#//@productCatalogs[name='org.eclipse.products']/@products[name='epp.package.committers']/@versions[name='latest']"/>
    <description>The Simultaneous Release Train installation installs the necessary tools for working with the contributions to the train.</description>
  </installation>
  <workspace
      name="simultaneous.release.train.workspace"
      label="Simultaneous Release Train Workspace">
    <setupTask
        xsi:type="setup:CompoundTask"
        name="User Preferences">
      <setupTask
          xsi:type="setup:CompoundTask"
          name="org.eclipse.ui.ide">
        <setupTask
            xsi:type="setup:PreferenceTask"
            key="/instance/org.eclipse.ui.ide/WORKSPACE_NAME"
            value="SimRel"/>
      </setupTask>
    </setupTask>
    <setupTask
        xsi:type="setup:VariableTask"
        name="git.user.id"
        label="Eclipse Git/Gerrit user ID">
      <description>The user ID of the Eclipse Git/Gerrit account, i.e., the 'Username' of your profile at https://git.eclipse.org/r/settings but not the numeric ID, the Email, nor the Full name of your profile</description>
    </setupTask>
    <stream
        href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']/@projects[name='simrel']/@streams[name='master']"/>
    <description>The Simultaneous Release Train workspace provides access to the clone in which contributions are maintained.</description>
  </workspace>
  <description>
    &lt;p>
    The Simultaneous Release Train configuration provides a specialized development environment for contributing to the &lt;a href=&quot;https://wiki.eclipse.org/Simrel/Contributing_to_Simrel_Aggregation_Build&quot; target=&quot;simrel_wiki&quot;>Simultaneous Release&lt;/a>.
    Please read the preceding wiki link for detailed contribution instructions.
    &lt;/p>
    &lt;p>
    The installation is based the latest committers package and includes the tools for working with the aggregation resources.
    The workspace includes the org.eclipse.simrel.build project from the &lt;a href=&quot;https://git.eclipse.org/c/simrel/org.eclipse.simrel.build.git&quot; target=&quot;simrel_git&quot;>SimRel Git clone&lt;/a>.
    &lt;/p>
    &lt;p>
    The default Git repository URI uses ssh so you must &lt;a href=&quot;https://wiki.eclipse.org/Gerrit#SSH_Keys&quot; target=&quot;simrel_wiki&quot;>specify your user ID for which you've registered your SSH keys&lt;/a> to use this choice.
    To exploit the Mylyn Bugzilla integration, you should enter the email address of your Eclipse account and enter your password for that account. 
    You can use the Authenticate... button to ensure you've entered it correctly.
    &lt;/p>
  </description>
</setup:Configuration>
