Eclipse changed in incompatible ways between 3.3 and 3.4 in ways that affect plug-ins. The following entries describe the areas that changed and provide instructions for migrating 3.3 plug-ins to 3.4. Note that you only need to look here if you are experiencing problems running your 3.3 plug-in on 3.4.
What is affected: Clients that call getPath() on FileEditorInput.
Description:In release 3.3 and earlier, FileEditorInput#getPath
returned null when called on an input whose file was not in the local
file system. This violated the contract of IPathEditorInput#getPath which
did not allow a null result. The method now throws IllegalArgumentException
in this case. The convenience method FileEditorInput#isLocalFile
has been added so that callers who are unsure of the state of a supplied IFile can check
before calling #getPath.
Action required: Clients that call FileEditorInput#getPath
should check if they are calling it on an input that is not in the local file system, and react
accordingly.
What is affected: Clients that call IProject#setDescription.
Description: In the 3.3 release, all calls to IProject#setDescription
required the caller to own IResourceRuleFactory#modifyRule, which
was implemented with the IWorkspaceRoot scheduling rule. This was
too restrictive in most cases, and unnecessarily prevented other threads from modifying
other projects in the workspace while modifyRule was held. In the 3.4
release, the IWorkspaceRoot scheduling rule is now only needed when configuring project
natures: clients calling IProject#setDescription without the AVOID_NATURE_CONFIG
flag. IResourceRuleFactory#modifyRule now only locks the project resource by default, allowing
more concurrency when opening or closing projects, or when setting the description but
not configuring project natures.
Action required: Clients calling IProject#setDescription
should ensure they own the correct scheduling rule. See the API javadoc for a description
of what rules are required for this and other workspace operations.
What is affected:
Description:
Action required: .