<?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 RCP and RAP Developers"
   maintainer="Eclipse Packaging Project"
   iconurl="http://www.eclipse.org/downloads/images/rcp.png"
   bugzillaComponentId="rcp-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 complete set of tools for developers who want to create Eclipse plug-ins, Rich Client Applications or Remote Application Platform (RCP+RAP), plus Maven and Gradle tooling, and an XML editor. It contains the EGit tooling for accessing Git version control systems.]]></description>
     <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Markus Knauer</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="https://www.eclipse.org/eclipse/news/4.6/"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/rap/noteworthy/3.1/"
    project="Eclipse RAP" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/EGit/New_and_Noteworthy/4.4"
    project="Eclipse EGit" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/recommenders/manual/"
    project="Eclipse Code Recommenders" />
  </MoreInfo>


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

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-rcp-neon-3" />

</configuration>
