<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <!-- IMPORTANT: This is a fake package definition to show the Eclipse Classic, 
       i.e. the Eclipse SDK download on the packages website. This package definition
       is not used to build the Eclipse SDK download! -->

  <!-- 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 Classic 3.6.2 RC4"
   maintainer="Eclipse Platform Team"
   iconurl="http://www.eclipse.org/downloads/images/classic2.jpg"
   bugzillaComponentId=""
   testPlan="" >
    <!-- Description is wrapped in CDATA tags to allow you to insert HTML code if necessary -->
     <description><![CDATA[The classic Eclipse download: the Eclipse Platform, Java Development Tools, and Plug-in Development Environment, including source and both user and programmer documentation. Please look also at the <a href="http://download.eclipse.org/eclipse/downloads/">Eclipse Project download page</a>.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Eclipse Project</tester>
    </packageTesters>
    <FakePackage>True</FakePackage>
    <FakePackageLocation>
      /eclipse/downloads/drops/S-3.6.2RC4-201102101200/
    </FakePackageLocation>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news.html"
    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="3.6.2" />

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

</configuration>
