Often there is no sufficiently compelling reason to ever remove deprecated API, so the API may remain in place indefinitely after the release in which it was deprecated. However, there are situations where continuing to maintain the deprecated API creates too high a burden for both API developers and clients: the code bloat of keeping old implementations, the added complexity of multiple redundant APIs, etc. For this reason the Eclipse project has a policy to occasionally delete deprecated API after providing two years advance notice to clients. This section describes API removals that occurred in this release, and upcoming removals in future releases.
There are no API removals planned for the Eclipse project Helios (3.6) release.
The WorkspaceLock
API allowed a special client (usually platform UI) to
hook into the locking protocols used by the workspace implementation. This hook
was used to mitigate deadlocks due to interaction with synchronous SWT events,
and was never intended to be used by other clients. In the 3.0 release this API
was deprecated in favor of a more general API provided by the org.eclipse.core.jobs
bundle. Invoking this API has had no effect since the 3.0 release. The specific API
to be removed includes:
org.eclipse.core.resources.WorkspaceLock
class.org.eclipse.core.resources.IWorkspace#setWorkspaceLock
For further details or to provide feedback on this change, see bug 311240.
The functionality provided by the org.eclipse.update
component (known as
Update Manager), was replaced in the Eclipse 3.4 (June 2008) release by Equinox p2. The bundles that
comprise this component will be removed from the Eclipse platform and RCP features
after the June 2012 release. Equinox p2 will continue to provide full compatibility
for features and update sites created for Update Manager. The bundles to be removed
are:
For further details or to provide feedback on this change, see bug 311240.
The IncrementalProjectBuilder#getRule()
method returned a scheduling rule
that was required for building the project by the builder. This method was intended to be used by the builder framework only.
In the 3.6 release this method was deprecated in favor of a more general method IncrementalProjectBuilder#getRule(int, Map)
.
The specific API to be removed includes:
org.eclipse.core.resources.IncrementalProjectBuilder#getRule()
For further details or to provide feedback on this change, see bug 310072.
The extension point org.eclipse.help.base.luceneSearchParticipants
used API classes which exposed classes from
Apache Lucene in their method parameters. This means that clients would be impacted with at least binary incompatibility
if the Eclipse
Help system switched from Lucene 1.x to 2.x or 3.x and has caused the help system to stay on an old version of Lucene.
In the 3.6 release this extension point and the classes it requires were deprecated. The replacement extension point
org.eclipse.help.base.searchParticipant
should be used instead.
The specific API to be removed includes:
For further details or to provide feedback on this change, see bug 311931.
In the Equinox 3.5 release an implementation of an OSGi provisional API was
included for composite bundles. This API includes all classes from the
org.osgi.service.framework package
. This provisional OSGi API has never been
considered API by Equinox and as such has always been marked as x-internal.
The OSGi Alliance has decided to reject this provisional API. It will never
become a part of the official OSGi specification. Any users of the
org.osgi.service.framework
composite bundle API must migrate to using framework
hooks to provide additional isolation within a single OSGi framework. See the
sub-packages of org.osgi.framework.hooks
for ways to control
visibility and isolation for resolution, bundles and services. Equinox plans to
remove the org.osgi.service.framework
API and composite bundle implementation
in the Summer of 2012 (after the 3.8 release).
Equinox also has a region digraph implementation that allows for the definition and configuration of regions that can be used to isolate bundles. The region digraph is built on top of the standard OSGi framework hooks. The specific API to be removed includes:
For further details or to provide feedback on this change, see bug 345790.