Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

A Brief Overview of Building at Eclipse

Revision as of 13:54, 17 November 2007 by Prince.drishti-soft.com (Talk | contribs) (PDE Build)

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 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 Develeopment 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."

Back to the top