Oomph: Automatically Provision a Project-specific IDE
Consider the tasks needed each time you set up a fresh development environment to work with a particular version of a specific project:
Install a project-specific IDE with appropriate tooling.
Which tools need to be available for editing, compiling, debugging, and testing?
Materialize the appropriate bundles and features in the workspace.
What needs to be imported into the workspace and from which source code repositories?
How are those bundles and features organized into meaningful working sets?
Materialize the appropriate target platform.
What needs to be in the target platform to compile the bundles and features, as well as to launch the associated tests?
Manage the bundle and feature versions.
When should you increment the major, minor, and micro versions?
Manage a clean, warning-free workspace.
How do you avoid workspace-scoped preferences which must be maintained independently of the bundles and features?
How do you effectively manage consistent project-scoped preferences across a multitude of bundles and features?
Install your personal tools.
Which of your favorite tools can't you live without?
Manage your personal preferences.
How do you enable things such as key bindings that make Eclipse comfortable for you?
These tasks need to be well documented and evolve from release to release.
Who writes and maintains the instructions for these tasks?
How many people need to follow these instructions and how often?
How do your contributors find the instructions for your project?
Why is anyone doing this manually?
In this talk we'll show how you can manage all this more effectively by formalizing the instructions so they can be performed automatically with the click of a button.