Building Eclipse Plug-Ins on a Continuous Integration Platform
Mirko Raner (Intuit, Inc. )
Making For Eclipse · Bof
Tags: Build and Continuous Integration
Wednesday, 19:15, 1 hour | Cypress
Whereas building inside an Eclipse development workbench is easy, transparent, and unobtrusive, building Eclipse plug-ins on a Continuous Integration server like Hudson or CruiseControl is notoriously difficult and an ongoing source of frustration for many developers. In many cases, developers end up creating a parallel build that duplicates what the Eclipse workbench is doing. This leads to constant headaches due to the two separate build procedures running out of sync. Also, the commonly used Maven technology does not play well with Eclipse plug-ins and dependency information is duplicated in OSGi manifests and Maven POMs. Last but not least, Eclipse plug-in tests are difficult to run on CI platforms, especially when the builds are running on headless systems.
In short, there are many pain points related to nightly and continuous builds for Eclipse plug-ins. This BOF session will bring together practitioners to learn about the different approaches and technologies as well as provide an opportunity to trade tips, tricks, and experiences.
- Separate/duplicate build procedures
- Semi-automated integration builds (XSLT to convert .classpath to build.xml, for example)
- Scripting solutions that drive an actual workbench (escripts, Eclipse Monkey?)
- PDE Build
- Eclipse Monkey
- Eclipse RelEng
Mirko Raner has been developing Eclipse-based applications and plug-ins since 2003. Currently, he works as a Senior Software Engineer for Intuit, Inc., where his team creates internal software development tools based on Eclipse. In addition to contributing to the Eclipse platform whenever he can, Mirko also created various open-source plug-ins for Eclipse, including Eclipsemail, Escripts, and Eclipse Multi-Touch. Mirko holds a Master's degree in Computer Science from University of Erlangen-Nuremberg. He is also a Sun Certified Java Programmer (JDK 1.1) and a Certified Scrum Master. In the past, Mirko has spoken at various conferences, including ACM OOPSLA and ITiCSE, JavaOne, JavaPro Live, and the USENIX Java Virtual Machine Symposium.