As described in our previous post, we maintain a common Eclipse Oomph Profile with our favorite plugins and settings preconfigured. By using Oomph, you can install this version of Eclipse with a single click. See here for a more thorough introduction and how to install the pre-configured Eclipse.
As promised, we will describe the things we adapted and added to the standard Eclipse Packages. In the last blogs, we described our favorite settings, ECLEmma and Checkstyle. The next plugin we would like to mention is somehow special, as it is provided by Oomph itself.
This might sound confusing, as we already use Oomph for a simple deployment of the pre-configured IDE. Therefore, if you use the preconfigured Oomph Profile, you have already used the stand-alone tool “Oomph Installer”. However, Oomph also provides three useful IDE plugins, which definitely belong to our favorite list. In a nutshell, those Oomph plugins provide 3 features:
- They keep an Eclipse installation up-to-date, e.g. if the profile that you use is updated or enhanced
- Besides setting up an Eclipse installation, Oomph can also configure project-specific things for you, including checking out sources, configuring working sets and more
- If you want to create your own Oomph profile, either for a product or to work on a specific project, Oomph provides wizards and editors to assist you with this configuration
Let us have a more detailed look on the different Oomph components (as shown in the following diagram). We describe the usage of all this more in detail in this tutorial.
The Oomph installer, which we have already described, is responsible for creating and setting-up an Eclipse installation based on pre-configured profiles. There are two types of profiles, which can be selected during the installation.
Product Setup Models describe an Eclipse installation, including which plug-ins should be installed, how it is launched, etc. Such Eclipse installations are the basis for your IDE to be used in several projects.
Project Setup Models allow you to additionally configure a project-specific set-up. As an example, you can configure source repositories to be cloned, working sets or Mylyn queries to work on one sp ecific project. In the Eclipse installer, you always select a Product Setup Model first and then an optional Project Setup Model. As Project Setup Models can also influence the Eclipse installation, they are read by the Oomph Installer during the installation.
After an Eclipse installation has been initially set-up, there are two runtime components, which are included and also consume the two Setup Models. The Oomph Updater checks the product setup model for any changes or updates. If it finds an update, the user is asked whether they should be applied. This easily enables you to centrally maintain an Eclipse Installation for many users. The component Oomph Project Setup will execute additional set-up steps specified in the project setup model, after the IDE has been started. As an example, it can clone a repository and import projects from it.
Last but not least, Oomph provides tooling to create and update the two setup models, we call this component Oomph Authoring. It provides wizards and editors to use and adopt Oomph for your particular use case. The most basic use case is to define the product and project setup models, which can be created and supported by wizards:
By creating your own custom product and project setup model, you can customize Eclipse installations as you wish. This can be a generic profile containing all your favorite plugins and settings, or, a project specific profile, which completes not only the installation of an IDE, but also checks out sources, configures Mylyn queries, and creates working sets. If used by a group of developers, maintaining those profiles can significantly reduce the effort spent on setup. It also enables you to keep all team members on the same versions and update to new ones literally within 5 minutes.
The Oomph website provides an authoring guide to create projects and product setup models. Based on this, we have additionally compiled a tutorial describing Oomph in general, the Eclipse installer, as well as the creation of custom setup models. We hope this helps the community to make use of the great features that Oomph provides.