<?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 and Report Developers"
   maintainer="Eclipse BIRT Project and the Eclipse Packaging Project"
   iconurl="http://www.eclipse.org/birt/images/jee-birt.jpg"
   bugzillaComponentId="reporting-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[JEE tools and BIRT reporting tool for Java developers to create JEE and Web applications that also have reporting needs.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Xiaoying Gu</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="http://www.eclipse.org/birt/phoenix/whatsnew.php"
    project="Eclipse BIRT Project" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/webtools/development/news/main.php"
    project="Eclipse Webtools Project" />
  <NewAndNoteworthy
    url="http://download.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news.html"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="http://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  </MoreInfo>

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

  <!-- name, the name of the product, used in naming the created files. -->
  <product
    name="eclipse-reporting-ganymede-SR2-RC3"
    eclipseProductId="org.eclipse.platform.ide"
    initialPerspectiveId="org.eclipse.jst.j2ee.J2EEPerspective" />

  <!-- url, pointing to an update site. -->
  <updateSites>
    <!-- local mirrors -->
    <updateSite url="file:///home/data/httpd/download.eclipse.org/eclipse/updates/3.4.x/" />
    <updateSite url="file:///home/data/httpd/download.eclipse.org/eclipse/updates/3.4/" />
    <updateSite url="file:///home/data/httpd/download.eclipse.org/eclipse/updates/3.4milestones/" />
    <updateSite url="file:///home/data/httpd/download.eclipse.org/releases/ganymede/staging/" />
    <updateSite url="file:///home/data/httpd/download.eclipse.org/technology/epp/updates/1.0milestones/" />

    <!-- eclipse.org update sites -->
    <!-- 
      <updateSite url="http://download.eclipse.org/eclipse/updates/3.4/" />
      <updateSite url="http://download.eclipse.org/eclipse/updates/3.4milestones/" />
      <updateSite url="http://download.eclipse.org/releases/ganymede/" />
      <updateSite url="http://download.eclipse.org/releases/ganymede/staging/" />
    -->
  </updateSites>

  <!-- id, a feature id. -->
  <!-- version, the feature version. -->
  <requiredFeatures>
    <feature
      id="org.eclipse.platform"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.cvs"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.jdt"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.pde"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.rse"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.context_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.team_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.ide_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.java_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.pde_feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.mylyn.bugzilla_feature"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.emf.common"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.common.ui"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.ecore"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.edit"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.ecore.edit"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.edit.ui"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.xsd"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.xsd.edit"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.gef"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.wst.common_ui.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.wst.xml_ui.feature"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.emf"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.emf.ecore.sdo"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.datatools.connectivity.oda.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.doc.user"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.connectivity.oda.designer.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.modelbase.feature"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.datatools.connectivity.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.results.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.ddlgen.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.ddl.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.data.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.jdbc.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.sqldevtools.parsers.feature"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.datatools.enablement.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.intro"
      version="latest">
    </feature>

    <!-- optional DB/SQL features -->
    <feature
      id="org.eclipse.datatools.enablement.apache.derby.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.hsqldb.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.ibm.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.msft.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.mysql.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.oda.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.oda.designer.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.oracle.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.postgresql.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.sap.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.datatools.enablement.sybase.feature"
      version="latest">
    </feature>
    <!-- optional DB/SQL features / END -->

    <feature
      id="org.eclipse.wst"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.jst"
      version="latest">
    </feature>

    <feature
      id="org.eclipse.jpt.feature"
      version="latest">
    </feature>
    <feature
      id="org.eclipse.jpt.eclipselink.feature"
      version="latest">
    </feature>
  <!-- reporting specific configuration -->

  <feature 
    id="com.lowagie.itext" 
    version="latest">
  </feature>
  <feature 
    id="org.apache.commons.codec" 
    version="latest">
  </feature>
  <feature 
    id="org.apache.derby.core" 
    version="latest">
  </feature>
  <feature 
    id="org.mozilla.rhino" 
    version="latest">
  </feature>
  <feature 
    id="org.w3c.sac" 
    version="latest">
  </feature>
  <feature 
    id="org.eclipse.birt" 
    version="latest">
  </feature>
  <feature 
    id="org.eclipse.birt.doc" 
    version="latest">
  </feature>


<!-- 
this includes features:
org.eclipse.birt_2.3.0.v20070920-7M7Y-3aXwVVXI4baBgi4xgfmFywM
org.eclipse.birt.chart_2.3.0.v20070920-797D-2qtHFga30Gz01HHaz01z00z
org.eclipse.birt.chart.cshelp_2.3.0.v20070920-12-XX-w31181_25
org.eclipse.birt.chart.runtime_2.3.0.v20071227-7c974Pirwz0GGZz0z-z-xH0
org.eclipse.birt.crosstab_2.3.0.v20070920-35-0r733I3539
org.eclipse.birt.cshelp_2.3.0.v20070920-12-XX-w31181_25
org.eclipse.birt.doc_2.3.0.v20070920-12-XX-w31181_29
org.eclipse.birt.example_2.3.0.v20071113-7C7J-5SQCD3CRDZ
org.eclipse.birt.report.designer_2.3.0.v20071120-7U7k-C-RcHHkXZiZaZvbK3252
org.eclipse.birt.report.runtime_2.3.0.v20071113-7V7n-Di2WYZYuaJ2141

as mentioned in https://bugs.eclipse.org/bugs/show_bug.cgi?id=217791
org.eclipse.birt_2.3.0
org.eclipse.birt.chart_2.3.0
org.eclipse.birt.chart.cshelp_2.3.0
org.eclipse.birt.chart.runtime_2.3.0
org.eclipse.birt.crosstab_2.3.0
org.eclipse.birt.cshelp_2.3.0
org.eclipse.birt.doc_2.3.0
org.eclipse.birt.example_2.3.0
org.eclipse.birt.report.designer_2.3.0
org.eclipse.birt.report.runtime_2.3.0

but not the ISV bundles
org.eclipse.birt.chart.doc.isv_2.3.0
org.eclipse.birt.doc.isv_2.3.0
 -->

    <feature
      id="org.eclipse.epp.usagedata.feature"
      version="latest">
    </feature>

  </requiredFeatures>

  <!-- folder, pointing to a folder containing the zipped root files for each of 
    the target platforms. -->
  <rootFileFolder folder="/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/M20090211-1700" />

  <!-- relativeFolder, names the subfolder of the base folder where the update site will be created. 
    This is configurable so that working areas, especially root files, are reusable. -->
  <extensionSite relativeFolder="extension_site"></extensionSite>

  <!-- Create archives for win32, linux, macosx platforms, antZip is default format -->
  <targetPlatforms>
    <platform
      os="win32"
      ws="win32"
      arch="x86">
      <archiveFormat format="antZip"></archiveFormat>
      <eclipseIniFileContent path="/eclipse/">-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m</eclipseIniFileContent>
    </platform>
    <platform
      os="linux"
      ws="gtk"
      arch="x86">
      <archiveFormat format="tar" />
      <eclipseIniFileContent path="/eclipse/">-showsplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m</eclipseIniFileContent>
    </platform>
    <platform
      os="linux"
      ws="gtk"
      arch="x86_64">
      <archiveFormat format="tar" />
      <eclipseIniFileContent path="/eclipse/">-showsplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m</eclipseIniFileContent>
    </platform>
    <platform
      os="macosx"
      ws="carbon"
      arch="ppc">
      <archiveFormat format="tar" />
      <eclipseIniFileContent path="/eclipse/Eclipse.app/Contents/MacOS/">-showsplash
org.eclipse.platform
-startup
../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731
-vmargs
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Dosgi.requiredJavaVersion=1.5
-Dorg.eclipse.swt.internal.carbon.smallFonts</eclipseIniFileContent>
    </platform>
  </targetPlatforms>
</configuration>
