<?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 IDE for Scout Developers"
   maintainer="Eclipse Scout Project"
   iconurl="http://www.eclipse.org/downloads/images/scout.jpg"
   bugzillaComponentId="scout-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[<a href="http://www.eclipse.org/scout">Eclipse Scout</a> is a Java/HTML5 framework to develop business applications that run on the desktop, on tablets and mobile devices. This package includes Eclipse IDE support for Scout developers and source code.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Matthias Zimmermann</tester>
      <tester>Judith Gull</tester>
      <tester>Patrick Bänziger</tester>
      <tester>Arthur van Dorp</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/Scout/NewAndNoteworthy/6.0"
    project="Eclipse Scout" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/eclipse/news/4.7/"
    project="Eclipse Platform" />
  </MoreInfo>


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

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-scout-photon-RC2" />

</configuration>
