Friday, March 15, 2013

Shared installs just got better!

For many years, shared installs have been a second class citizen to p2. Thanks to the sponsoring of Ericsson, I'm happy to announce that some of the most annoying bugs have been addressed in Eclipse Kepler starting at M6.

First and foremost, when changes are being made to a read-only Eclipse install, the plug-ins that have been installed by the user no longer vanish mysteriously leaving the workbench with a sea of red square icons (the sign that something went wrong).
Instead, on startup, the user is automatically presented with a migration wizard giving the opportunity to re-install these plug-ins. Should the user not be interested in migrating, a confirmation dialog shown upon cancellation gives the ability to delay the migration to a subsequent restart or completely ignore it.
 

Building on this support, we've also decided to assist users in re-importing their plug-ins from a previous read-only installation. The reason is simple, many corporations chose to deploy new versions of Eclipse in different folders. This is required to give teams the ability to adopt Eclipse at their own pace, but it also means that when users start using a new Eclipse install, they need to re-install the plug-ins they had installed on their own. Of course users could use the import/export feature provided by p2, but the time wasted by the user wondering why the plug-ins have vanished and then figuring out what to re-install can be significant, which is why in such situation we are also presenting the migration wizard.

We are feeling pretty good about those changes and hope you'll enjoy them. To give it a try, go and download the freshly new released M6 build of Eclipse SDK.


Update - What is a shared install? Eclipse is said to run in shared-install mode when the Eclipse installation folder is read-only. This situation happens when Eclipse is installed in C:\Program Files, or when it is installed by a package manager.
In such cases, when the user executes Eclipse a folder is created in the user home that stores all the configuration information as well as the plug-ins installed by the user.