<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- Package Description information to be picked up by www.eclipse.org/packages -->
  <!-- PackageName is the title of your package 
       maintainer is the project or persons that are maintaining the package
       iconurl is the fully qualified URL to the icon you wish to use on the site (48x48)
       bugzillaComponentID is used to gather bugzilla information about your package.  This should be given to you after provisioning of the package is finished
       testPlan is the fully qualified URL to the test plan for this package
   -->
  <packageMetaData
   packageName="Eclipse for Testers"
   maintainer="Eclipse Jubula Project"
   iconurl="http://www.eclipse.org/downloads/images/testing.png"
   bugzillaComponentId="testing-package"
   testPlan="http://www.eclipse.org/epp/testplan.php" >
    <!-- Description is wrapped in CDATA tags to allow you to insert HTML code if necessary -->
     <description><![CDATA[This package contains Eclipse features that support the software development quality assurance process, such as Jubula and Mylyn.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester><![CDATA[Achim L&ouml;rke]]></tester>
      <tester>Markus Tiede</tester>
      <tester>Zeb Ford-Reitz</tester>
      <tester>Alexandra Schladebeck</tester>
      <tester>Oliver Goetz</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://www.eclipse.org/jubula/new.php"
    project="Eclipse Jubula" />
  <NewAndNoteworthy
    url="http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/news/"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  </MoreInfo>


  <!-- version, the RCP version to build. This is used to determine the file 
    name of the root file archives -->
  <rcp version="4.4.2" />

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-testing-luna-SR2" />

</configuration>
