Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
A Brief Overview of Building at Eclipse
Contents
Summary
This page is about building Eclipse- and RCP-based products (including Eclipse itself).
PDE Build
PDEB is The Way to headlessly build Eclipse- and RCP-based products. The online documentation provides a good foundation of knowledge, but does fall short in on some specifics, including the use of Pack200 and JAR signing using the Eclipse Foundation's certificate. This document addresses these issues.
The best currently available guide to PDEB is still Markus Barchfeld's Build and Test Automation for plug-ins and features, though it's getting a bit old (having been written for eclipse-3.0).
Ant
Eclipse itself is using the PDE build infrastructure that it ships with the Plug-in Development Environment. Ant is used to run the build, with adequate plug-points where in you can perform custom tasks such as instrumentation of code.
To get comfortable with ant:-
http://ant.apache.org/manual - If you are new to ant
Eclipse provides a very usable interface for writing ant files(yes, with auto-complete and the stuff) as well as run the ant files from within the IDE. But, for headless(without UI, from command line) builds, you'll need to use the antRunner application provided by eclipse. For more help, peek into the help documentation of eclipse that you are using.
Plugin Builder plugin
http://www.pluginbuilder.org - Something to make your life even easier
You might get stuck nowhere:-
https://bugs.eclipse.org/bugs/show_bug.cgi?id=87151
https://bugs.eclipse.org/bugs/show_bug.cgi?id=139481
Versioning
Plugins (including features and fragments) must specify their own versions as well as the versions of their dependencies appropriately.
Information
See the eclipse team's plugin-versioning guidelines. You can also ask Pascal Rapicault or John Arthorne for their "Plug-in versioning" presentation.
Tooling
Pascal Rapicault has created an application (org.eclipse.core.runtime.versionchecker.dependencyChecker) to "specify the ranges on all [your] required plug-ins."
Cross-platform build
Eclipse RCP applications can be cross-built for several platforms using any platform on which eclipse runs. You just need to install the RCP delta pack in your Target Platform. If you dont know what a Target Platform is, then just intall the RCP delta pack in your eclipse installation directory. To download the delta pack as per your platform, visit http://download.eclipse.org/eclipse/downloads/. Click the Release version that you are targeting, then search for 'delta'.