<?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://eclipsescout.github.io/8.0/release-notes.html"
    project="Eclipse Scout" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/eclipse/news/4.11/"
    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.11.0" />

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

</configuration>
