Platform/Core Component Planning Details

Remove Dependancy on Xerces (bugs 37696, 36112)

Checklist:

  • Create new XML plug-in containing the XML Pull APIs.
  • Remove plug-in dependancies from org.eclipse.core.runtime and org.eclipse.core.resources.
  • Add new dependancy to new XML plug-in.
  • Replace org.eclipse.core.internal.plugins.PluginParser with a new parser using the new APIs.
  • Replace org.eclipse.core.internal.resources.WorkspaceDescriptionReader with new reader based on new APIs.
  • Replace org.eclipse.core.internal.resources.ProjectDescriptionReader with new reader based on new APIs.
  • Determine interaction with bootstrap process. Things to consider include creating the bootstrap classloader, update/install, and org.eclipes.core.internal.boot.PlatformConfiguration.
  • Check test suites.
  • Verify new work by completely removing the Xerces plug-in from the environment. (is this possible with the other plug-ins' dependancies?
  • 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.

Current Status

July 21, 2003

  • We are still awaiting approval from the Open Source Committee as to whether or not we can include an XML Pull implementation in the SDK download
  • Working out licensing issues with the developers of a particular XML Pull implementation. (inconsistencies between code and web site)
  • 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.

Milestone Plans

3.0 M2 - July 18, 2003

  • Goal is to complete all of the above work.
  • 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.
  • 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.

3.0 M3 - August 29, 2003

  • Continue towards completing the above outlined tasks.
  • Hope to have approval for XML Pull use shortly after 3.0 M2 and then will be able to release new code into HEAD.