by Max Bureck
Learn how you can get new projects started faster in Max Bureck's talk, "From nothing to complete environment with Maven, Oomph & Docker."
Sometimes building integrations into classical Eclipse/OSGi based technologies has a long and error prone ramp-up phase. This alienates new developers and even bothers experienced programmers, making Eclipse based technology seem more complicated than it really is. Fortunately a little automation can already go a long way.
To understand the problems during setup, let’s go through a typical startup phase of a new project based on Eclipse technologies. Usually it starts with choosing, installing and configuring the right flavor of the Eclipse development environment required for your development needs. Then, additional plug-ins with the correct version need to be installed, followed by the setting up of the associated properties and finally some configuration of the target platform. New projects can then be created. In order to support continuous integration (CI), build scripts (e.g., Maven Tycho or Apache Ant) have to be written for them.
Moreover, during the development of OSGi based products, sometimes the start-levels and the auto-start attributes of the bundles need to be set correctly, both in the final product and the development time run configuration. Furthermore, when the product being developed communicates to network based services, the developer needs services to run locally to test against them, which again needs setup work.
All this manual setup is time intensive and can be frustrating if subtle errors are introduced. Fortunately there are tools that can help automate a great deal of work for such commonly recurring setups.
We will show how we combined Maven, Eclipse Oomph, and Docker to automate most of the setup for the development of our new ModelBus services. This shortened the time to get started with our technologies, improved the general developer user experience, and made onboarding of new team members easier. The same strategy can be used for other Eclipse based technologies to allow their users to set-up new projects, on top of their technologies, faster.