Dr. Stefan Winkler
freier Softwareentwickler und IT-Berater

NOTE! This site uses cookies to track your user session.

If you not change browser settings to prevent accepting cookies, you agree to it.

I understand

At EclipseCon NA 2014 Project Oomph has created some buzz. Project Oomph by Eike and Ed is an attempt of making contributing to an Eclipse project dead easy by providing an automated setup process for each project.

Setting up a workspace with the correct tooling, target platform, imported projects and baseline is a matter of just downloading and starting a setup application, selecting the desired project, clicking ok, and getting some coffee (the latter is optional and not included in the setup tool package ...). Read more here.

For some time now, I have been looking for an easy way to manage my own bunch of Eclipse installations. For example, I have one IDE for CDO development, one IDE for one customer who works with a Servets-based Tomcat application, one IDE for another customer who implements an internal IDE for C development, one IDE for my own sandbox-projects (which lead to stuff like CDO-Xtext), and in my free time, I am typesetting music from time to time using the Eclipse-based Lilypond IDE Elysium.

The problem is that every time a new release (or milestone) comes out, I have to update all of these installations, which has been (until now) quite cumbersome, because automatically updating the installations while preserving the correct set of needed plugins and features just did not work well.

But with project Oomph, I have started to create setup models for all my different installations and it really works well while being simple at the same time: installations based on Project Oomph will update installed features as updates become available while keeping the set of features intact. (Note: it is actually the p2 director that does all the magic, and there is other means to control the p2 director to achieve my requirements of installing a workspace with a given set of features. It is just that Project Oomph provides a very nice and clean way to model the desired results).

This guide describes how to set up a workspace for the setup model tooling and how to get started in general.

So after setting up the workspace, create a new empty project and create a new empty setup model. The first thing to add is a p2 director task. Under this task, you can specify the Installation Units (IUs) to install into your IDE and the repositories to install from.

Unfortunately, there is no way to browse and select IUs from the repositories directly. But I have already opened an enhancement request for this. Until this is implemented, you can, e.g., work with the b3 tooling and create a temporary aggregation model, add validation repositories, and use the repository browser to identify and copy-paste IU IDs.

When the p2 task is configured, you can set up any other tasks you need (e.g., clone git repositories, import projects, configure a baseline, adjust preferences, etc.).

To use you setup model, just copy it into the main directory of the Setup application (under MacOS X you have to use Setup.app/Contents/MacOS/). When you start the setup tool next time, your own models are listed at the top of the projects list and you can install them from there.

Screenshot of the setup application with custom models

Also, by creating or modifying your personalized setup model addition (on Mac, this is located under ~/.eclipse/org.eclipse.emf.cdo.releng.setup/setup-eclipse.xmi), you can set your favorite preferences or add your favorite features once in there and have them automatically applied to all of your installations. For example, for Mac OS X, I very much like the Mac OS X workspace badge plugin. So I included it in my setup-eclipse.xmi and at the same time set its configuration option to the name of the installed workspace:

Instead of editing the setup-eclipse.xmi by hand, you can also use these two buttons:

Eclipse Toolbar with Oomph buttons

(1) will open the setup-eclipse.xmi in the setup model editor and (2) will open the preferences dialog and add all changes you make to the model.

To give an example for a more complex setup model, I have followed the instructions on the Eclipse Platform UI workspace setup guide. This guide lists several steps to setup and configure your workspace so you can contribute to the Platform UI project. Instead of following this guide, you can now use this setup model and the Oomph installer to get started in no time.

(Disclaimer: I have created this setup model just for my own needs. Please consider this unofficial and unmaintained for now. In particular, only the setup for master branch development is currently available. But if someone wants to pick up this model and create an official version, feel free to go ahead and do so!)

Summary: Oomph is cool. It makes installation and maintenance of eclipse installations a breeze.

The Oomph project is currently located in the CDO.releng component but is currently proposed as a separate, Eclipse Tools project. If all goes well, the easter bunny will bring us this project and hopefully a lot more useful features :-).


0 # Michael Keppler 2014-04-03 09:22
Hi Stefan, have you already tried to run inside a corporate network with an authenticating proxy, e.g the one in Abstatt? :)
I had lots of trouble when trying this from Feuerbach.

Ciao, Michael
Reply | Reply with quote | Quote
0 # Stefan Winkler 2014-04-03 09:36
Hi Michael,

no, I have not actively tried it out from behind a firewall. In theory, there is a "Network configurations" button at the bottom of the setup tool, which should enable you to adjust settings.

Also, (Eike has demonstrated this at EclipseCon) you can add "Redirection Tasks" which you can use to substitute p2 repository locations (at least that's what I have understood. Maybe Eike can give more information here ...?)
Reply | Reply with quote | Quote
0 # Eike Stepper 2014-04-03 09:46
Hi Michael,

What trouble are you experiencing concretely? Something beyond these two bugs that you've already submitted: https://bugs.eclipse.org/bugs/show_bug.cgi?id=428341 https://bugs.eclipse.org/bugs/show_bug.cgi?id=428442 ?
Reply | Reply with quote | Quote
0 # Karsten Thoms 2014-07-09 14:52
Hi Stefan,
if you use the current Mac OSX download, the configuration path is now setup-eclipse.a pp/Contents/Mac OS/
Reply | Reply with quote | Quote
+1 # Stefan Winkler 2014-09-09 15:14
A quick update for future readers:

The new version of Oomph (which is now a separate Eclipse project) does not require copying models into the setup/Oomph folder anymore. Instead, after starting setup-eclipse, you can just drag and drop a user-created model into the projects tree after you have selected the Eclipse package.

The model reference of the dropped model will then be persistently stored in your user's ${HOME}/.eclips e/org.eclipse.o omph.setup/setu ps/*.setup files.
Reply | Reply with quote | Quote
0 # Pat 2016-03-07 19:26
I think you should make a new guide or update this one for the new Oomph versions. I would like to create setup files without having to modify the xml file directly, but the Oomph documentation is very lacking in that regard. There is a setup editor but the tasks documentation is either very complicated (not beginner-friend ly) or simply non-existent...

Thank you
Reply | Reply with quote | Quote

Add comment

Security code