Eclipse Oomphed

The Mars release of Eclipse includes Oomph in all the packages and the release's download page prominently features the new Eclipse Installer, powered by Oomph. With the Eclipse Installer you can create your installations more easily and more reliably. Not only that, you can quickly create several installations, without downloading many huge packages, and without filling up your disk with many duplicate files.

Why is the Installer Better?

If you've downloaded and "installed" Eclipse packages in the past, you might be familiar with the various ways that Eclipse fails to run. Why? Because it just can't find a Java Virtual Machine (JVM) or can't find an appropriate JVM. So what do you need to do? Install the right one or make Eclipse find the right one. But how? Let me Google that for you. You'll find the best answer at the top of the list of more than a million matches. Yes, that's right, a million of matches. In a twisted sense, it's reassuring that you're not alone; misery loves company. In any case, you'll be told that fixing this is easy, but you have to wonder, if it's so easy, why do you have to do it at all?

Please Just Find the JVM

To do a better job than Eclipse's native launcher, we need a better launcher. For Windows, the Eclipse Installer provides just that. It's distributed as a self-extracting executable. When you run it, it inspects your system to find all available JVMs and indexes them. It tests each one to determine its bitness and version. The actual Eclipse Installer itself is an Eclipse application that needs Java 1.7. If you have 1.7 or higher already installed on your system, of the appropriate bitness, the Eclipse Installer will launch and you're off to the races. If not, you'll be directed what to install and where to find it. In either case, you'll be up and running quickly, without consulting Google.

Installing a Product

The Eclipse Installer supports two modes, simple and advanced. In the simple mode, you'll be presented with the list of products to install, just like the list of packages on the download page. You pick the one you want, then you'll be asked where you want to install it. A suitable default location is suggested, but you can change that of course. Click the Install button, and when that's done, launch the installation. Because none of the packages need a Java version higher than what's needed by the installer itself, the right JVM will be available and the installation will definitely launch. For Windows you can even create menu and desktop shortcuts automatically.

In the Eclipse Installer's advanced mode, the process is much the same, but you can also choose Eclipse projects whose source artifacts you want provisioned in the workspace. As such, you can automatically set up a development environment just like the one used by the project's developers. In addition, you can author your own project setups to automate the process of provisioning your own specific development environment.

Technical Details

The Eclipse Installer, by default, uses p2's little-known bundle pool technology. All the artifacts you've downloaded to create your installation are pooled for reuse. If you use the installer again to install another product, these artifacts are reused, i.e., they are not downloaded again, and they are shared across installations. With Oomph's targlet technology, fully integrated with the Plug-in Development Environment, this bundle pool is reused for provisioning target platforms.

We hope that Oomph helps to improve your overall Eclipse experience with Mars, including Oomph's support for sharing preferences uniformly across all your workspaces. We're always open to suggestions for improvements and of course welcome contributions. Using the advanced mode of the Eclipse Installer you can provision a full Oomph development environment configured so you can commit contributions to Gerrit.

About the Authors