# 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. 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.eclipse.ant.core` | `org.eclipse.ant.core` |
`org.eclipse.compare.patch (split) org.eclipse.compare.rangedifferencer` | `org.eclipse.compare.core` |
`org.eclipse.compare org.eclipse.compare.contentmergeviewer org.eclipse.compare.patch (split) 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.util` | `org.eclipse.core.commands` |
`org.eclipse.core.databinding org.eclipse.core.databinding.conversion org.eclipse.core.databinding.validation` | `org.eclipse.core.databinding` |
`org.eclipse.core.databinding.beans` | `org.eclipse.core.databinding.beans` |
`org.eclipse.core.databinding.observable org.eclipse.core.databinding.observable.list org.eclipse.core.databinding.observable.map org.eclipse.core.databinding.observable.masterdetail org.eclipse.core.databinding.observable.set org.eclipse.core.databinding.observable.value org.eclipse.core.databinding.util` | `org.eclipse.core.databinding.observable` |
`org.eclipse.core.databinding.property org.eclipse.core.databinding.property.list org.eclipse.core.databinding.property.map org.eclipse.core.databinding.property.set org.eclipse.core.databinding.property.value` | `org.eclipse.core.databinding.property` |
`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.provider` | `org.eclipse.core.filesystem` |
`org.eclipse.core.net.proxy` | `org.eclipse.core.net` |
`org.eclipse.core.resources org.eclipse.core.resources.filtermatchers org.eclipse.core.resources.mapping org.eclipse.core.resources.refresh org.eclipse.core.resources.team org.eclipse.core.resources.variableresolvers` | `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.http.registry` | `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.variables` | `org.eclipse.core.variables` |
`org.eclipse.debug.core org.eclipse.debug.core.commands 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.contexts org.eclipse.debug.ui.memory org.eclipse.debug.ui.sourcelookup org.eclipse.debug.ui.stringsubstitution` | `org.eclipse.debug.ui` |
`org.eclipse.e4.core.di` | `org.eclipse.e4.core.di org.eclipse.e4.core.di.suppliers` |
`org.eclipse.e4.core.di.annotations` | `org.eclipse.e4.core.di.annotations` |
`org.eclipse.e4.core.di.extensions` | `org.eclipse.e4.core.di.extensions` |
`org.eclipse.e4.ui.model.application org.eclipse.e4.ui.model.application.commands org.eclipse.e4.ui.model.application.descriptor.basic org.eclipse.e4.ui.model.application.ui org.eclipse.e4.ui.model.application.ui.advanced org.eclipse.e4.ui.model.application.ui.basic org.eclipse.e4.ui.model.application.ui.menu org.eclipse.e4.ui.model.fragment` | `org.eclipse.e4.ui.model.workbench` |
`org.eclipse.e4.ui.services` | `org.eclipse.e4.ui.services` |
`org.eclipse.e4.ui.workbench.lifecycle org.eclipse.e4.ui.workbench.modeling` | `org.eclipse.e4.ui.workbench` |
`org.eclipse.equinox.app` | `org.eclipse.equinox.app` |
`org.eclipse.equinox.bidi org.eclipse.equinox.bidi.advanced org.eclipse.equinox.bidi.custom` | `org.eclipse.equinox.bidi` |
`org.eclipse.equinox.ds` | `org.apache.felix.scr` |
`org.eclipse.equinox.frameworkadmin` | `org.eclipse.equinox.frameworkadmin` |
`org.eclipse.equinox.http.jetty org.eclipse.equinox.http.servlet` | `org.eclipse.equinox.http.servlet` |
`org.eclipse.equinox.jsp.jasper` | `org.eclipse.equinox.jsp.jasper` |
`org.eclipse.equinox.jsp.jasper.registry` | `org.eclipse.equinox.jsp.jasper.registry` |
`org.eclipse.equinox.p2.core org.eclipse.equinox.p2.core.spi` | `org.eclipse.equinox.p2.core` |
`org.eclipse.equinox.p2.engine org.eclipse.equinox.p2.engine.query org.eclipse.equinox.p2.engine.spi` | `org.eclipse.equinox.p2.engine` |
`org.eclipse.equinox.p2.metadata org.eclipse.equinox.p2.metadata.expression org.eclipse.equinox.p2.metadata.index org.eclipse.equinox.p2.query` | `org.eclipse.equinox.p2.metadata` |
`org.eclipse.equinox.p2.operations` | `org.eclipse.equinox.p2.operations` |
`org.eclipse.equinox.p2.planner` | `org.eclipse.equinox.p2.director` |
`org.eclipse.equinox.p2.repository org.eclipse.equinox.p2.repository.artifact org.eclipse.equinox.p2.repository.artifact.spi org.eclipse.equinox.p2.repository.metadata org.eclipse.equinox.p2.repository.metadata.spi org.eclipse.equinox.p2.repository.spi` | `org.eclipse.equinox.p2.repository` |
`org.eclipse.equinox.p2.touchpoint.eclipse.query` | `org.eclipse.equinox.p2.touchpoint.eclipse` |
`org.eclipse.equinox.p2.ui` | `org.eclipse.equinox.p2.ui` |
`org.eclipse.equinox.security.auth org.eclipse.equinox.security.auth.credentials org.eclipse.equinox.security.auth.module org.eclipse.equinox.security.storage org.eclipse.equinox.security.storage.provider` | `org.eclipse.equinox.security` |
`org.eclipse.help` | `org.eclipse.help` |
`org.eclipse.help.browser org.eclipse.help.search org.eclipse.help.server org.eclipse.help.standalone` | `org.eclipse.help.base` |
`org.eclipse.help.ui org.eclipse.help.ui.browser` | `org.eclipse.help.ui` |
`org.eclipse.help.webapp` | `org.eclipse.help.webapp` |

`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.fieldAssist.images
org.eclipse.jface.images
org.eclipse.jface.layout
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.jface`

[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.jface.databinding.dialog org.eclipse.jface.databinding.fieldassist org.eclipse.jface.databinding.preference org.eclipse.jface.databinding.swt org.eclipse.jface.databinding.util org.eclipse.jface.databinding.viewers org.eclipse.jface.databinding.wizard` | `org.eclipse.jface.databinding` |
`org.eclipse.jsch.core` | `org.eclipse.jsch.core` |
`org.eclipse.jsch.ui` | `org.eclipse.jsch.ui` |
`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.resource` | `org.eclipse.ltk.core.refactoring` |
`org.eclipse.ltk.ui.refactoring org.eclipse.ltk.ui.refactoring.actions org.eclipse.ltk.ui.refactoring.history org.eclipse.ltk.ui.refactoring.model org.eclipse.ltk.ui.refactoring.resource` | `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.security
org.eclipse.osgi.signedcontent
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_64` |
`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.dnd
org.eclipse.ui.fieldassist
org.eclipse.ui.handlers
org.eclipse.ui.help
org.eclipse.ui.intro
org.eclipse.ui.keys
org.eclipse.ui.menus
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.progress
org.eclipse.ui.services
org.eclipse.ui.splash
org.eclipse.ui.statushandlers
org.eclipse.ui.swt
org.eclipse.ui.testing
org.eclipse.ui.themes
org.eclipse.ui.views
org.eclipse.ui.wizards`

`org.eclipse.ui.workbench`

[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.ide.undo
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.contentproviders` | `org.eclipse.ui.intro` |
`org.eclipse.ui.intro.universal` | `org.eclipse.ui.intro.universal` |
`org.eclipse.ui.intro.quicklinks` | `org.eclipse.ui.intro.quicklinks` |
`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.rulers org.eclipse.ui.texteditor.spelling org.eclipse.ui.texteditor.templates` | `org.eclipse.ui.workbench.texteditor` | [7]
`org.eclipse.unittest.launcher org.eclipse.unittest.model org.eclipse.unittest.ui` | `org.eclipse.unittest.ui` |
`org.eclipse.update.configurator` | `org.eclipse.update.configurator` |
`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 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 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.