The following documents contains an up-to-date list (as of 4.3i2) of PDE internal APIs that are still in use by TPTP, and the associated plan to remove these dependencies.
The resolution falls under three categories:
- PDECore.getDefault().getModelManager().getWorkspaceModels()
- PDECore.getDefault().getModelManager().getExternalModels()
- PDECore.getDefault().getModelManager().findModel(IProject)
- PDECore.getDefault().getModelManager().getPlugins()
Solution: TPTP code will be migrated to use public APIs.
When: TBD (when PDE makes these APIs available). An intermediate
check-point will be performed when API details are available.
Solution: PDE has no intent to provide us with such an API. We will apply the
suggested work-around, which consists in testing whether is a META-INF/MANIFEST.MF
file exists in a plugin's project.
When: 4.3i3
Solution: PDE will not provide us with an API and has suggested the following
work-around: a DOM will be constructed from the plugin.xml, modified in memory,
and saved to a new XML file.
When: 4.4.
Solution: We will use JavaCore.getClasspathVariable("ECLIPSE_HOME")
instead.
When: 4.3i3.
Solution: PDE intends to publish these APIs.
When: TBD (As soon as the public APIs are available)
PDE suggested that we copy these methods, as they are very self-contained.
We will do so.
When: 4.4
Solution: we will implement our own label provider for representing plugins.
This includes copying a few icons from PDE.
When: 4.4
Solution: we will implement our own sorter for sorting IPluginModel objects.
When: 4.4
Solution: This class is referenced by the RunWizard, which is an internal class,
and is no longer used in TPTP (no reference from code, nor from plugin.xml).
The RunWizard, and its associated pages, RunDestinationPage, and RunLocationPage
will be removed.
When: 4.3i3.