<?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>
      <tester>Ken Lee</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/Scout/NewAndNoteworthy/4.0"
    project="Eclipse Scout" />
  <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" />
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/EGit/New_and_Noteworthy/3.4"
    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.4.2" />

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

</configuration>
