When Mylyn became a top-level project, the monolithic command line driven PDE build that was understood by one committer, executable on a single machine was no longer appropriate to support the modularization needs and distributed development of the project. Since we like to play with the cool kids we jumped onto the Maven/Tycho and Git bandwagon for a ride to the land where contributions merge without conflicts and sources build themselves. We are still on the road learning something new each time we hit the occasional bump. We already found out…
- …how to convert our reasonably linear CVS history into a Git repository that does not look like a blooming tree,
- …how to setup CI builds that finish within a couple of minutes,
- …how to aggregate tests results across build jobs,
- …how to create reproducible builds with strict target defintions,
- …how to manage releases across several Git repositories,
…and much more. While the new build system is not a silver bullet that made release engineering obsolete it’s a huge improvement over the previous configuration and enabled us to take advantage of tools like FindBugs or Gerrit that we could not easily integrate before.
If you are interested in learning from our experiences take a look at the video of the EclipseCon session.