<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
   <title>Platform/Core Component Planning Details</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">Platform/Core 
      Component Planning Details</font></font></b></td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td> <p><b><a name="xerces"></a>Remove Dependancy on Xerces </b>(bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37696">37696</a>, 
        <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36112">36112</a>)</p>
      <p><i>Checklist:</i></p>
      <ul>
        <li>Create new XML plug-in containing the XML Pull APIs.</li>
        <li>Remove plug-in dependancies from org.eclipse.core.runtime and org.eclipse.core.resources.</li>
        <li>Add new dependancy to new XML plug-in.</li>
        <li>Replace org.eclipse.core.internal.plugins.PluginParser with a new 
          parser using the new APIs.</li>
        <li>Replace org.eclipse.core.internal.resources.WorkspaceDescriptionReader 
          with new reader based on new APIs.</li>
        <li>Replace org.eclipse.core.internal.resources.ProjectDescriptionReader 
          with new reader based on new APIs.</li>
        <li>Determine interaction with bootstrap process. Things to consider include 
          creating the bootstrap classloader, update/install, and org.eclipes.core.internal.boot.PlatformConfiguration.</li>
        <li>Check test suites.</li>
        <li>Verify new work by completely removing the Xerces plug-in from the 
          environment. (is this possible with the other plug-ins' dependancies?</li>
        <li>Educate Platform/UI and other teams in SDK who rely on Xerces with 
          knowledge of new APIs. Note that most teams have updated the bug report 
          with explanations of their usage.</li>
      </ul></td>
  </tr>
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><p><strong>Current Status</strong></p>
      <p><em>October 20, 2003</em></p>
      <ul>
        <li>Since Eclipse now requires a 1.4 VM, we have decided to program against 
          the JAXP APIs for now rather than including a new XML Parser (like XML 
          Pull) in the SDK.</li>
        <li>Perhaps in the future we will switch to a highly performant parser 
          in the Core Runtime to parse plugin.xml files.</li>
        <li><a href="http://dev.eclipse.org/mhonarc/lists/eclipse-dev/msg04227.html">Message</a> 
          sent to mailing list and newsgroup.</li>
        <li>Core has removed their dependancy on Xerces and programmed against 
          JAXP.</li>
        <li>Other plug-ins in the SDK are following suit.</li>
      </ul>      <p><em>September 2, 2003</em></p>
      <ul>
        <li>Still waiting for approval before moving on.</li>
      </ul>
      <p><em>July 21, 2003</em></p>
      <ul>
        <li>We are awaiting to see if we can get approval to include an XML Pull 
          implementation in the SDK download</li>
        <li>Working out licensing issues with the developers of a particular XML 
          Pull implementation. (inconsistencies between code and web site)</li>
        <li>Have asked for the teams in the SDK to indicate where they use XML 
          in their code. Almost every single Eclipse team has replied that they 
          use XML somewhere in their code! Still need to review these uses and 
          plan for migration.</li>
      </ul>
</td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><p><strong>Milestone Plans</strong> 
      <p><em>3.0 M5 - November 21, 2003</em></p>
      <ul>
        <li>Remove dependancy on Xerces for all SDK plug-ins.</li>
        <li>Remove Xerces plug-in from SDK download? Need approval from PMC before 
          this can happen.</li>
      </ul>      <p><em>3.0 M4 - October 10, 2003</em></p>
      <ul>
        <li>Get the code released into the repository. Still waiting on approval 
          before this can be done.</li>
      </ul>
      <p><em>3.0 M3 - August 29, 2003</em></p>
      <ul>
        <li>Continue towards completing the above outlined tasks.</li>
        <li>Hope to have approval for XML Pull use shortly after 3.0 M2 and then 
          will be able to release new code into HEAD.</li>
      </ul>
      <p><em>3.0 M2 - July 18, 2003</em></p>
      <ul>
        <li>Goal is to complete all of the above work.</li>
        <li>We don't envision having all teams converted to new APIs but should 
          at least be educated on how to convert their code. It is up to the individual 
          teams to 1) determine whether or not they want to convert their code 
          and 2) to actually change their code.</li>
        <li>Note that although all plug-ins in the SDK are not required to convert 
          their parsing, it is necessary that at least the plug-ins defined to 
          be a part of the Rich Client Platform (RCP) perform this transformation. 
          Reducing the size of the XML plug-in shipped with the RCP (3M for Xerces 
          vs 25K for XmlPull) is a big big win.</li>
      </ul>
</td>
  </tr>
</table>

</body>
</html>
