I'm always upgrading to the most recent development build of eclipse, and having to manually migrate my plugins each time is a PITA. Life became much easier when I setup an eclipse Extension Location to house just my plugins so that upgrading becomes the simple task of unzipping the new eclipse distribution.

Creating an extension location works under both the 3.0.x and 3.1.x releases of eclipse, under both linux and windows (and I assume all others). The steps to accomplish this under linux are as follows:

  1. As root, I install eclipse to /opt/eclipse

  2. As myuser, I create the directories

    • ~/eclipse-config

    • ~/eclipse-config/eclipse

    • ~/eclipse-config/eclipse/features

    • ~/eclipse-config/eclipse/plugins

    • ~/eclipse-config/workspace

  3. I edit ~/eclipse-config/eclipse/.eclipseextension to contain:

    name=My Eclipse Configuration

  4. As myuser I install plugins/feature to ~/eclipse-config/eclipse (manually or through eclipse update mechanism after step 6 completed)

  5. As myuser, I start eclipse like "/opt/eclipse/eclipse -data /home/conway/eclipse-config/workspace -vmargs -Xmx512M"

  6. In Help->Software Updates->Manage Configuration... I "Add an Extension Location" to ~/eclipse-config/eclipse. The setting for this ends up being stored in ~/.eclipse

The thing I really like about this method is that aside from installing the eclipse runtime as root, I never have to do anything else as root again - I can install all my plugins as myself in my home directory, and when it comes time to upgrade eclipse, I don't have to deal with moving my plugins to a new install - I simply install the new eclipse into it own directory, run it, perform step 6, and all my plugins are present (assuming they work across eclipse versions =)

Also, for large multi-feature/multi-plugin extensions like the eclipse WebTools Project, I'll create a new extension location just for that extension so that I can treat it as a single unit for enable/disable/upgrade.

The process under windows is identical except you don't have to worry about user permissions, and you need to choose windows paths that make sense to you. I use c:\devtools\eclipse for my eclipse install and c:\devtools\eclipse-config for all my configuration.