In another post I was responding to a question about Update Manager and plugin install and said I'd post a description of how I manage my environment.
See (
Loading Plugins and maintaining the Eclipse Environment).
I like using the extension capability of Eclipse to install Eclipse examples, plug-ins from others, and even my own plug-ins. That is, I have a \links directory in my Eclipse install dir that points to other dirs that include eclipse\features and eclipse\plugins dirs. When started, Eclipse sees the link file, follows it to find the additional code, and includes it in the config for a new workspace. For an existing workspace Eclipse would detect the new link file and prompt for a decision on if the new features should be included in the current configuration. You can say yes, no-not now, or no-not every (so take them off the list of pending changes).
This seems complex at first, but it is not that hard. I just finished reworking my environment to use Eclipse 2.1.1 full-time. In doing so I created a structure of Eclipse Examples, Solutions as shared in our book, other plug-ins from other sources, and my private plug-ins. The full dir tree looks something like this:
E:\Eclipse-2.1.1\eclipse - Eclipse itself - the full SDK download
Installed features are kept in a different dir tree:
E:\Eclipse-2.1.1\installedFeatures\eclipseExamples - dir for where I unzipped the Eclipse examples
E:\Eclipse-2.1.1\installedFeatures\JSGuide - dir where I have several of the book solutions
E:\Eclipse-2.1.1\installedFeatures\omondo - dir where I have a copy of the free omondo code
E:\Eclipse-2.1.1\installedFeatures\privateTools - dir where I have my code
Each of the above dirs has an eclipse\features and eclipse\plugins directory where the associated features and plugins are kept.
Link files identify dirs where more features/plugins can be found. So I have these dirs in my Eclipse install:
E:\Eclipse-2.1.1\eclipse\links - dir for link files I use to tell Eclipse where to find more code
For example:
E:\Eclipse-2.1.1\eclipse\links\eclipseExamples.link
E:\Eclipse-2.1.1\eclipse\links\ installedFeatures.link
E:\Eclipse-2.1.1\eclipse\links-out - dir where I hide link files I don't want Eclipse to see just yet
Features/plugins found in a dir tree identified by a link file are processed by Eclipse at startup.
By convention a link file should have a name of feature-id.link, where feature-id is the root feature. Any name will work, but formal products that are installed/configured as extensions should use the expected naming pattern.
For example, the eclipseExamples.link file contains (no spaces at end):
path=E:/Eclipse-2.1.1/installedFeatures/eclipseExamples
If I add a link file to the \links dir later, the change will be detected at startup (splash screen flashes twice) and then if I have features involved I'll get prompted on if I want the change added to the current configuration. If there are only plug-ins, or plug-ins not referenced by a feature, then they are just added to the current config (as unmanaged plugins).
I find that this approach allows me to delete my Eclipse dir when required (I've fiddled it a bit more than I should on occasion), but keep all my installed features/plugins as-is, and if I don't delete the /links and /links-out dirs, I can quickly get my code back into a new Eclipse install.
Un-install is just a matter of disabling the feature (if features are used to manage the plug-ins) or moving the link from \links to \links-out. The next start/stop of the workbench will cause them to be dropped.
If you want to see all the internal bits - find your workspace\.metadata\.config\platform.cfg file - it will show you entries for each install site (platform, linked sites, and update manager install sites). Not a file to edit, but on that might help you figure out where a plug-in in your config was actually installed.
[ July 19, 2003: Message edited by: Pat McCarthy ]