The Oomph project provides tools based on extensible frameworks, packaged as fine-grained features that allow consumers to pick and choose. The basic building blocks include the following:
- An EMF model for manipulating Eclipse preferences.
- An EMF model for specifying predicate-based logical sets of projects.
- An EMF model for enforcing profiles of project-specific settings (driven by the predicates model).
- An EMF model for inducing dynamic working sets (driven by the predicates model).
- An EMF model for managing modular PDE target platforms (based on composable targlets).
- An EMF model for describing IDE configurations.
Based on these building blocks Oomph initially provides the following tools:
- A tool for browsing the Eclipse preference structure.
- A tool for maintaining consistent project-specific settings across a large number of projects.
- A tool for creating dynamic working sets that update automatically as new projects are added to the workspace.
A targlet container that seamlessly integrates with PDE's target definitions and provides the following advantages:
- Dynamic composition
- Lazy resolution
- Resolution-failure resilience
- Global bundle pool
- Bounded version ranges
- Optional workspace provisioning
- A tool for managing bundle pools, including purging unused artifacts and repairing damaged artifacts.
- An installer for installing an IDE from a selection of project-specific configurations, augmented by user-specific configuration.
- An engine for keeping an IDE consistent with its specified configuration.
- A builder for managing bundle micro versions and feature versions relative to a baseline, augmenting PDE's API Tools.
A selection of small conveniences:
- Launch configuration decorators
- Context-sensitive manifest opener
- Copyright-consistency management
- Project copier
- Git command-line integration
- Launcher for platform-specific file explorers