# Eclipse Platform
Map of Platform Plug-ins

The Eclipse Platform provides basic support for plug-ins, resources, and the workbench.

The Eclipse Platform itself is divided up into a number of separate plug-ins. The following table shows which API packages are found in which plug-ins as of Eclipse 3.0. This table is useful for determining which plug-ins a given plug-in should include as prerequisites.

API Package | Required plug-in id | Notes
`org.apache.tools.ant[.*]` | `org.apache.ant` |
`org.eclipse.ant.core[.*]` | `org.eclipse.ant.core` |
`org.eclipse.compare[.*]` | `org.eclipse.compare` |
`org.eclipse.expressions` | `org.eclipse.expressions` |
`org.eclipse.filebuffers` | `org.eclipse.filebuffers` |
`org.eclipse.core.resources[.*]` | `org.eclipse.core.resources` |
`org.eclipse.core.runtime org.eclipse.core.runtime.content org.eclipse.core.runtime.jobs org.eclipse.core.runtime.preferences org.osgi[.*]` | `org.eclipse.core.runtime` | [1]
`org.eclipse.core.boot (obsolete) org.eclipse.core.runtime.model (obsolete)` | `org.eclipse.core.runtime.compatibility` | [2]
`org.eclipse.variables` | `org.eclipse.variables` |
`org.eclipse.debug.core[.*]` | `org.eclipse.debug.core` |
`org.eclipse.debug.ui[.*]` | `org.eclipse.debug.ui` |
`org.eclipse.help` | `org.eclipse.help` |
`org.eclipse.help.browser` | `org.eclipse.help.base` |
`org.eclipse.help.ui.browser` | `org.eclipse.help.ui` |
`org.eclipse.jface.action org.eclipse.jface.dialogs org.eclipse.jface.operation org.eclipse.jface.preference org.eclipse.jface.resource org.eclipse.jface.util org.eclipse.jface.viewers org.eclipse.jface.window org.eclipse.jface.wizard` | `org.eclipse.ui` | [3]
`org.eclipse.jface.contentassist org.eclipse.jface.text (split) org.eclipse.jface.text.contentassist org.eclipse.jface.text.formatter org.eclipse.jface.text.information org.eclipse.jface.text.link (split) org.eclipse.jface.text.presentation org.eclipse.jface.text.reconciler org.eclipse.jface.text.rules org.eclipse.jface.text.source (split) org.eclipse.jface.text.templates (split) org.eclipse.jface.text.templates.persistence` | `org.eclipse.jface.text` | [4]
`org.eclipse.jface.text (split) org.eclipse.jface.text.link (split) org.eclipse.jface.text.source (split) org.eclipse.jface.text.templates (split) org.eclipse.text.edits` | `org.eclipse.text` | [4]
`org.eclipse.search.ui` | `org.eclipse.search` |
`org.eclipse.swt[.*]` | `org.eclipse.ui` | [5]
`org.eclipse.team.core[.*]` | `org.eclipse.team.core` |
`org.eclipse.team.ui[.*]` | `org.eclipse.team.ui` |
`org.eclipse.ui.cheatsheets` | `org.eclipse.ui.cheatsheets` |
`org.eclipse.ui.console[.*]` | `org.eclipse.ui.console` |
`org.eclipse.ui.editors.text org.eclipse.ui.editors.text.templates org.eclipse.ui.texteditor (split)` | `org.eclipse.ui.editors` | [6]
`org.eclipse.ui.forms[.*]` | `org.eclipse.ui.forms` |
`org.eclipse.ui (split) org.eclipse.ui.about org.eclipse.ui.actions (split) org.eclipse.ui.activities org.eclipse.ui.application org.eclipse.ui.branding org.eclipse.ui.commands org.eclipse.ui.contexts org.eclipse.ui.dialogs (split) org.eclipse.ui.help org.eclipse.ui.intro org.eclipse.ui.keys org.eclipse.ui.model (split) org.eclipse.ui.part (split) org.eclipse.ui.plugin org.eclipse.ui.presentations org.eclipse.ui.progress org.eclipse.ui.testing org.eclipse.ui.themes` | `org.eclipse.ui` | [7,8]
`org.eclipse.ui (split) org.eclipse.ui.actions (split) org.eclipse.ui.dialogs (split) org.eclipse.ui.ide org.eclipse.ui.model (split) org.eclipse.ui.part (split) org.eclipse.ui.views.bookmarkexplorer org.eclipse.ui.views.framelist org.eclipse.ui.views.markers org.eclipse.ui.views.markers.internal org.eclipse.ui.views.navigator org.eclipse.ui.views.properties org.eclipse.ui.views.tasklist org.eclipse.ui.wizards.datatransfer org.eclipse.ui.wizards.newresource` | `org.eclipse.ui.ide` | [8]
`org.eclipse.ui.intro.config` | `org.eclipse.ui.intro` |
`org.eclipse.ui.views.contentoutline org.eclipse.ui.views.properties` | `org.eclipse.ui.views` |
`org.eclipse.ui.contentassist org.eclipse.ui.texteditor (split) org.eclipse.ui.texteditor.link org.eclipse.ui.texteditor.quickdiff org.eclipse.ui.texteditor.templates` | `org.eclipse.ui.workbench.texteditor` | [6]
`org.eclipse.update.core[.*]` | `org.eclipse.update.core` |
`org.eclipse.update.configurator` | `org.eclipse.update.configurator` |
`org.eclipse.update.ui` | `org.eclipse.update.ui` |

Note 1: Plug-ins needing access to the Eclipse runtime API must list `org.eclipse.core.runtime` (or `org.eclipse.core.runtime.compatibility`) as a prerequisite plug-in. `org.eclipse.core.runtime` re-exports API from the OSGi-specific plug-ins (e.g., `org.eclipse.osgi`). The OSGi plug-ins should never be explicitly listed as prerequisites.

Note 2: These pre-3.0 API packages are obsolete and have been moved to the `org.eclipse.core.runtime.compatibility` plug-in.

Note 3: Plug-ins needing access to the JFace API must list `org.eclipse.ui` as a prerequisite plug-in. `org.eclipse.ui` re-exports API from the JFace plug-in. The `org.eclipse.jface` plug-in should never be explicitly listed as a prerequisite.

Note 4: Some of the JFace text packages are split between the `org.eclipse.jface.text` and the `org.eclipse.text` plug-ins.

Note 5: Plug-ins needing access to the SWT API must list `org.eclipse.ui` as a prerequisite plug-in. `org.eclipse.ui` re-exports API from the SWT plug-in. The `org.eclipse.swt` plug-in should never be explicitly listed as a prerequisite.

Note 6: The `org.eclipse.ui.texteditor` package is split between the `org.eclipse.ui.editors` and the `org.eclipse.ui.workbench.texteditor` plug-ins.

Note 7: Plug-ins needing access to the Workbench UI API must list `org.eclipse.ui` as a prerequisite plug-in. `org.eclipse.ui` re-exports API from the `org.eclipse.ui.workbench` plug-in. The `org.eclipse.ui.workbench` plug-in should never be explicitly listed as a prerequisite.

Note 8: Some of the UI packages are split between the `org.eclipse.ui` and the `org.eclipse.ui.ide` plug-ins.