<?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 Java EE Developers"
   maintainer="WTP and the Eclipse Packaging Project"
   iconurl="http://www.eclipse.org/downloads/images/javaee.png"
   bugzillaComponentId="jee-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[Tools for Java developers creating Java EE and Web applications, including a Java IDE, tools for Java EE, JPA, JSF, Mylyn, EGit and others.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>David Williams</tester>
      <tester>Chuck Bridgham</tester>
      <tester>Martin Oberhuber</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://www.eclipse.org/webtools/development/news/main.php"
    project="Eclipse Webtools Project" />
  <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="EGit" />
  <NewAndNoteworthy
    url="http://wiki.eclipse.org/M2E-WTP/New_and_Noteworthy/1.0.0"
    project="M2E-WTP" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/tm/"
    project="Eclipse Target Management (RSE)" />
  </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-jee-kepler-SR2-RC4" />

</configuration>
