Putting P2 into practice: Releasing independent products from a shared code base
Once you know how to use Tycho, building and releasing a single Eclipse product is quite straightforward. But if you need to build multiple products from a shared code base, with independent release cycles for each product, a lot of practical questions arise. For example, how do you...
...provide custom Eclipse target platforms for different product teams?
...enable developers to mix local test builds with pre-built P2 repositories?
...give developers an easy way to build everything from scratch, but also provide precompiled P2 setups to get started quickly?
...deploy a custom mix of shared and product-specific files for each product?
...make hard-coded version dependencies, stable release builds and snapshot builds fit together?
...manage shared and product-specific libraries, while keeping incremental update sizes small?
In this talk, we will present reusable solutions for these (and other) real-life requirements. The main part of the presentation will be an in-depth explanation of a multi-product build using Tycho, Subversion and Jenkins developed at the German Aerospace Center (DLR). In addition, we will share the lessons we learned along the way, and give practical tips for setting up and maintaining your own multi-product Tycho build.
Attendees should have a working knowledge of Maven (including the use of profiles), and should be familiar with the concepts of Eclipse Plug-in Development. Experience with Tycho and P2 is helpful, but not required.