<?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 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 framework to develop Java/Eclipse based business applications that run on the desktop, in browsers, and on mobile devices. This package includes a complete SDK, useful developer tools and source code.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Andreas Hoegger</tester>
      <tester>Matthias Zimmermann</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/Scout/NewAndNoteworthy/3.9"
    project="Eclipse Scout" />
  <NewAndNoteworthy
    url="http://download.eclipse.org/eclipse/downloads/drops4/R-4.3-201306052000/news/"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/EGit/New_and_Noteworthy/3.0"
    project="Eclipse EGit" />
  </MoreInfo>


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

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

</configuration>
