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.
About Steffen Pingel
Steffen Pingel is a Principal Software Engineer at Tasktop Technologies. He enjoys working on tools that keep developers focused and productive and regularly speaks at conferences and user groups. He earned commit rights on the Eclipse Mylyn project in 2006 while completing his degree in Software Engineering at the University of Stuttgart. Since, he has become a member of the Eclipse Architecture Council and the Mylyn PMC and now leads several Mylyn sub-projects on Eclipse.org. Steffen is fascinated by the quality and extensibility of the Eclipse platform which keeps inspiring him to improve the Mylyn framework.