- 1 What is Oomph?
- 2 Installation
- 3 Features
- 4 Authoring Setup Models
- 5 Mailing List
- 6 Bug Reports and Feature Requests
- 7 See Also
- 8 Frequently Asked Questions
- 8.1 How can I change values I've entered in the prompt dialog (e.g., my "git.user.id") once that dialog is gone?
- 8.2 How can I use a SSH private key with a custom file name (different from "id_dsa,id_rsa")?
- 8.3 How can I use a custom SSH configuration directory?
- 8.4 How can I add my own setup files?
- 8.5 Oomph seems to update my IDE. Should I still use standard "Check For Updates..."?
What is Oomph?
Eclipse Oomph is an installer and updater for Eclipse development environments. See what The Free Dictionary says.
Just download the installer for your operating system and unzip it to your local disk:
Then start the included executable:
The installer comes with a help page.
Non-exhaustive list of features:
- Provisioning correct set of plugins in the Eclipse IDE.
- Binding Git repos (incl. personal Gerrit push URL).
- Checking out projects.
- Setting workspace preferences.
- Configuring dynamic working sets.
- Keeping project preferences files in sync.
The configuration is model driven, with the possibility to customize a lot for each project, each branch, each user…
Authoring Setup Models
Please read Eclipse Oomph Authoring.
Please prefix the subject header of your posts with "[Oomph] ".
Bug Reports and Feature Requests
First browse the FAQ section in this article.
Then search existing bugzillas to avoid duplication.
If nothing else helps kindly submit a bugzilla.
- Creating custom installations with Oomph a blog post by Stefan Winkler.
- Shoes for the Shoemaker a blog post by Ed Merks about the setup tool.
- Emf-dev - CDO Releng tools - setup tool?
Frequently Asked Questions
How can I change values I've entered in the prompt dialog (e.g., my "git.user.id") once that dialog is gone?
In your installed IDE there should be button with a blue person in the main toolbar. Please click it to open your setup preferences. All prompted values are stored as VariableTasks in there and you're able to change them. (see Bug 428268)
How can I use a SSH private key with a custom file name (different from "id_dsa,id_rsa")?
In your setup preferences (see above) you have to add an "Eclipse Preferences" task to set the custom file name. The key of this node should be "/instance/org.eclipse.jsch.core/PRIVATEKEY", its value should be the name (not the path) of your private key file (e.g. "eclipse.ppk").
How can I use a custom SSH configuration directory?
In your setup preferences (see above) you have to add an "Eclipse Preferences" task to set the custom file name. The key of this node should be "/bundle_defaults/org.eclipse.jsch.core/SSH2HOME", its value should be the fully qualified path to your SSH configuration directory.
How can I add my own setup files?
In order to get your own setup file included, simply copy the respective *.setup file next to the Setup executable. In the case of OS X one has to manually copy this file into "Setup.app/Contents/Mac OS".
Oomph seems to update my IDE. Should I still use standard "Check For Updates..."?
You can. But consider these differences between Oomph and standard p2:
- p2 does not record a version range for the installed units so it will update to the hihgest available version, which might not be what you want. The "Diagram Editor for Ecore" is an example where the 2.x version is not able to load diagrams created with the 1.x version. Oomph in contrast uses a p2 director that is modified to understand and respect the version ranges as specified in the setup models.
- p2 uses the set of currently enabled p2 repositories for the update, which is often not immediately obvious and can change by just trying out new URLs in the "Install New Software" dialog. Oomph in contrast uses exactly the set of repositories that's specified in the setup models.
- p2 will always ask you to accept licenses, whether you've already accepted them before or not. Oomph in contrast can remember the accepted licenses and won't bother you again. As this happens based on license UUIDs this approach is even safer because it prevents you from accidentally accept licenses with content that's just very similar but different (unintentionally or on purpose) from ones you've already accepted before.