I’ve just started using the brand new Eclipse installer, and I’d like to report my experiences here. First of all, a big praise to Ed Merks and Eike Stepper for creating Oomph, on which the installer is based.
First of all, the installer is currently available in the “Developer Builds” section:
Once you downloaded it and extracted it, just run the executable oomph:
The very same top right corner, also opens a menu for customization of some features, the one I prefer is the Bundle Pool, a cool feature that has been in Eclipse for so many years, and so very badly advertised, I’m afraid!
“p2 natively supports the notion of bundle pooling. When using bundle pooling, multiple applications share a common plugins directory where their software is stored. There is no duplication of content, and no duplicated downloads when upgrading software.”
One of the cool things of Oomph is that it natively and automatically supports bundle pools, it makes it really easy to manage them and makes installation faster and with less space requirements (what’s already been downloaded and installed won’t have to be downloaded and installed again for further Eclipse installations).
If you select that menu item, you can manage your bundle pools; the installer already detected existing bundle pools (I’ve been using them myself, manually, for some time now, and it detected that):
For this blog post I will create another bundle pool, just for testing. To create a new bundle pool, you first need to create a new p2 agent; the agent is responsible to manage the bundle pool, and to keep track of all the bundles that a specific Eclipse installation requires (this is also known as a p2 profile).
So I select “New Agent…” and choose a location in my hard disk; this will also set a bundle pool:
Just for demonstration, I’ll select the “pool”, “Delete…”, and create a “New Bundle Pool…” for the new agent, in another directory:
Then I select the new bundle pool, and press “OK”.
From now on, all the installations will be managed by the new agent, and all bundles will be stored in the new bundle pool.
OK, now, back to the main window, let’s start installing “Eclipse IDE for Java Developers”
In the next windows, I choose to install the new Eclipse in a different folder from the proposed default:
Let’s press “INSTALL”, and accept the LICENSE, the installation starts:
Then, you’re ready to launch this installation, or see the installation log.
you see that the installed eclipse does not have the typical directory structure: it has no “features”/”plugins” directories: these are in the shared bundle pool. Also note that the p2 agent location has a directory representing the profile of the installed Eclipse.
Let’s try and install another Eclipse, e.g., the “Eclipse DSL Tools” (what else if not the one with the cool Xtext framework? 😉
The dialog proposes an installation directory based on my previous choice; I also select “Luna” as the platform:
Let’s press “INSTALL”… WOW! This time it’s even faster! You know why: only the new bundles are downloaded, everything else is shared. This also means: less space wasted on your hard disk!
But there are cooler things: Bundle pool management!
Go back to the “Bundle Pool Management” dialog, select the checkbox “Show Profiles” and you see the profiles handled by the current agent:
You can see the bundles used by which profile: