<?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 C/C++ Developers (includes Incubating components)"
   maintainer="Eclipse Packaging Project"
   iconurl="http://www.eclipse.org/downloads/images/cdt.png"
   bugzillaComponentId="cpp-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[An IDE for C/C++ developers with Mylyn integration. Note that this package includes some <a href="http://www.eclipse.org/projects/dev_process/validation-phase.php">incubating</a> components, as indicated by features with "(Incubation)" following their name.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Doug Schaefer</tester>
      <tester>Markus Knauer</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/CDT/User/NewIn80"
    project="Eclipse CDT" />
  <NewAndNoteworthy
    url="http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-news.html"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/EGit/New_and_Noteworthy/1.0.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="3.7.2" />

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

</configuration>