# 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.2. 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.tools.bzip2 org.apache.tools.mail org.apache.tools.tar org.apache.tools.zip` | `org.apache.ant` |
`org.apache.lucene[.*]` | `org.apache.lucene` |
`org.eclipse.ant.core` | `org.eclipse.ant.core` |
`org.eclipse.compare org.eclipse.compare.contentmergeviewer org.eclipse.compare.rangedifferencer org.eclipse.compare.structuremergeviewer` | `org.eclipse.compare` |
`org.eclipse.core.commands org.eclipse.core.commands.common org.eclipse.core.commands.contexts org.eclipse.core.commands.operations` | `org.eclipse.core.commands` |
`org.eclipse.core.expressions` | `org.eclipse.core.expressions` |
`org.eclipse.core.filebuffers org.eclipse.core.filebuffers.manipulation` | `org.eclipse.core.filebuffers` |
`org.eclipse.core.filesystem org.eclipse.core.filesystem` | `org.eclipse.core.filesystem.provider` |
`org.eclipse.core.resources org.eclipse.core.resources.mapping org.eclipse.core.resources.refresh org.eclipse.core.resources.team` | `org.eclipse.core.resources` |
`org.eclipse.core.runtime` | `org.eclipse.core.runtime org.eclipse.equinox.registry org.eclipse.equinox.common` | [1]
`org.eclipse.core.runtime.dynamichelpers org.eclipse.core.runtime.spi` | `org.eclipse.equinox.registry` |
`org.eclipse.core.runtime.content` | `org.eclipse.core.contenttype` |
`org.eclipse.core.runtime.jobs` | `org.eclipse.core.jobs` |
`org.eclipse.core.runtime.preferences` | `org.eclipse.equinox.preferences` |
`org.eclipse.core.boot (obsolete) org.eclipse.core.runtime.model (obsolete)` | `org.eclipse.core.runtime.compatibility` | [2]
`org.eclipse.core.variables` | `org.eclipse.core.variables` |
`org.eclipse.debug.core org.eclipse.debug.core.model org.eclipse.debug.core.sourcelookup org.eclipse.debug.core.sourcelookup.containers` | `org.eclipse.debug.core` |
`org.eclipse.debug.ui org.eclipse.debug.ui.actions org.eclipse.debug.ui.console org.eclipse.debug.ui.memory org.eclipse.debug.ui.sourcelookup` | `org.eclipse.debug.ui` |
`org.eclipse.help` | `org.eclipse.help` |
`org.eclipse.help.browser org.eclipse.help.search org.eclipse.help.standalone` | `org.eclipse.help.base` |
`org.eclipse.help.ui org.eclipse.help.ui.browser` | `org.eclipse.help.ui` |
`org.eclipse.jface org.eclipse.jface.action org.eclipse.jface.action.images org.eclipse.jface.bindings org.eclipse.jface.bindings.keys org.eclipse.jface.bindings.keys.formatting org.eclipse.jface.commands org.eclipse.jface.contexts org.eclipse.jface.dialogs org.eclipse.jface.dialogs.images org.eclipse.jface.fieldAssist org.eclipse.jface.images org.eclipse.jface.menus org.eclipse.jface.operation org.eclipse.jface.preference org.eclipse.jface.preference.images org.eclipse.jface.resource org.eclipse.jface.util org.eclipse.jface.viewers org.eclipse.jface.viewers.deferred org.eclipse.jface.window org.eclipse.jface.wizard org.eclipse.jface.wizard.images` | `org.eclipse.ui` | [3]
`org.eclipse.jface.contentassist org.eclipse.jface.contentassist.images org.eclipse.jface.text (split) org.eclipse.jface.text.contentassist org.eclipse.jface.text.formatter org.eclipse.jface.text.hyperlink org.eclipse.jface.text.information org.eclipse.jface.text.link (split) org.eclipse.jface.text.presentation org.eclipse.jface.text.quickassist org.eclipse.jface.text.reconciler org.eclipse.jface.text.revisions org.eclipse.jface.text.rules org.eclipse.jface.text.source (split) org.eclipse.jface.text.source.projection org.eclipse.jface.text.source.projection.images 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.projection org.eclipse.jface.text.source (split) org.eclipse.jface.text.templates (split) org.eclipse.text.edits org.eclipse.text.undo` | `org.eclipse.text` | [4]
`org.eclipse.ltk.core.refactoring org.eclipse.ltk.core.refactoring.history org.eclipse.ltk.core.refactoring.model org.eclipse.ltk.core.refactoring.participants` | `org.eclipse.ltk.core.refactoring` |
`org.eclipse.ltk.ui.refactoring org.eclipse.ltk.ui.refactoring.history org.eclipse.ltk.ui.refactoring.model` | `org.eclipse.ltk.ui.refactoring` |
`org.eclipse.osgi.event org.eclipse.osgi.framework.console org.eclipse.osgi.framework.eventmgr org.eclipse.osgi.framework.log org.eclipse.osgi.service.datalocation org.eclipse.osgi.service.debug org.eclipse.osgi.service.environment org.eclipse.osgi.service.localization org.eclipse.osgi.service.pluginconversion org.eclipse.osgi.service.resolver org.eclipse.osgi.service.runnable org.eclipse.osgi.service.urlconversion org.eclipse.osgi.storagemanager org.eclipse.osgi.util` | `org.eclipse.osgi` |
`org.eclipse.search.core.text org.eclipse.search.ui org.eclipse.search.ui.actions org.eclipse.search.ui.text` | `org.eclipse.search` |
`org.eclipse.swt org.eclipse.swt.accessibility org.eclipse.swt.awt org.eclipse.swt.browser org.eclipse.swt.custom org.eclipse.swt.dnd org.eclipse.swt.events org.eclipse.swt.graphics org.eclipse.swt.layout org.eclipse.swt.printing org.eclipse.swt.program org.eclipse.swt.widgets` | `org.eclipse.ui` | [5]
`org.eclipse.swt.ole.win32` | `org.eclipse.swt.win32.win32.x86` | [6]
`org.eclipse.team.core org.eclipse.team.core.diff org.eclipse.team.core.diff.provider org.eclipse.team.core.history org.eclipse.team.core.history.provider org.eclipse.team.core.mapping org.eclipse.team.core.mapping.provider org.eclipse.team.core.subscribers org.eclipse.team.core.synchronize org.eclipse.team.core.variants` | `org.eclipse.team.core` |
`org.eclipse.team.ui org.eclipse.team.ui.history org.eclipse.team.ui.mapping org.eclipse.team.ui.synchronize` | `org.eclipse.team.ui` |
`org.eclipse.ui.browser` | `org.eclipse.ui.browser` |
`org.eclipse.ui.cheatsheets` | `org.eclipse.ui.cheatsheets` |
`org.eclipse.ui.console org.eclipse.ui.console.actions` | `org.eclipse.ui.console` |
`org.eclipse.ui.editors.text org.eclipse.ui.editors.text.templates org.eclipse.ui.texteditor (split)` | `org.eclipse.ui.editors` | [7]
`org.eclipse.ui.forms org.eclipse.ui.forms.editor org.eclipse.ui.forms.events org.eclipse.ui.forms.widgets` | `org.eclipse.ui.forms` |
`org.eclipse.ui.navigator` | `org.eclipse.ui.navigator` |
`org.eclipse.ui.navigator.resources` | `org.eclipse.ui.navigator.resources` |
`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.browser org.eclipse.ui.commands org.eclipse.ui.contexts org.eclipse.ui.dialogs (split) org.eclipse.ui.fieldassist org.eclipse.ui.handlers org.eclipse.ui.help org.eclipse.ui.intro org.eclipse.ui.keys org.eclipse.ui.model (split) org.eclipse.ui.operations org.eclipse.ui.part (split) org.eclipse.ui.plugin org.eclipse.ui.preferences org.eclipse.ui.presentations org.eclipse.ui.progress org.eclipse.ui.services org.eclipse.ui.testing org.eclipse.ui.themes org.eclipse.ui.views org.eclipse.ui.wizards` | `org.eclipse.ui` | [8,9]
`org.eclipse.ui (split) org.eclipse.ui.actions (split) org.eclipse.ui.dialogs (split) org.eclipse.ui.ide org.eclipse.ui.ide.dialogs org.eclipse.ui.ide.fileSystem 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.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` | [9]
`org.eclipse.ui.intro.config` | `org.eclipse.ui.intro` |
`org.eclipse.ui.intro.universal` | `org.eclipse.ui.intro.universal` |
`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.spelling org.eclipse.ui.texteditor.templates` | `org.eclipse.ui.workbench.texteditor` | [7]
`org.eclipse.update.configurator` | `org.eclipse.update.configurator` |
`org.eclipse.update.configuration org.eclipse.update.core org.eclipse.update.core.model org.eclipse.update.operations org.eclipse.update.search org.eclipse.update.standalone` | `org.eclipse.update.core` |
`org.eclipse.update.ui` | `org.eclipse.update.ui` |
`org.osgi.framework org.osgi.service.condpermadmin org.osgi.service.packageadmin org.osgi.service.permissionadmin org.osgi.service.startlevel org.osgi.service.url org.osgi.util.tracker` | `org.eclipse.osgi` |

Note 1: The content of the `org.eclipse.core.runtime` package is provided by the following plug-ins:

- `org.eclipse.equinox.common`
- `org.eclipse.equinox.registry`
- `org.eclipse.core.runtime`

For convenience, plug-ins can continue to specify dependency on the `org.eclipse.core.runtime` plug-in that combines all APIs present in this package. However, to improve modularity, plug-ins are encouraged to list only the required 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 plug-in `org.eclipse.swt.win32.win32.x86` is available on Win32/x86 platforms only.

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

Note 8: 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 9: Some of the UI packages are split between the `org.eclipse.ui` and the `org.eclipse.ui.ide` plug-ins.