Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse Platform Plug-in Development Environment Guide
Previous Page Home Next Page

Building an RCP application from a product configuration file

PDE Build comes with infrastructure to build a complete RCP application from a product configuration file. Most of the setup necessary for such a build can be done through a few modifications to the template build.properties provided in PDE build. The following section focuses on setting up a simple product build assuming that all plug-ins and features (both to build and pre-built) referenced by the product file are already locally available on disk.

Basic setup

The first step in setting up a build is to create the directory in which the build will take place. This directory will be referred to as the build directory and will contain the plug-ins and features to build as well as all the generated artifacts. Next, copy your plug-ins and features respectively into "plugins" and "features" subdirectories. Your product configuration file is expected to be in one of these plugins/features.

The second step in setting up a build is to copy the template build.properties file from org.eclipse.pde.build/templates/headless-build to a new directory which will be the build configuration directory (also referred to as the configuration directory). Edit the copied build.properties file and set the following properties:
  • product: the location of your product configuration file in the form "/<plugin or feature id>/path/to/.product"
  • baseLocation:  the location of an eclipse install containing all the pre-built features and plug-ins that your product requires in features/ and plugins/ subdirectories.  The RCP delta pack (it is available from the eclipse download page) is mandatory as it includes the org.eclipse.platform.launchers feature which contains the launchers and root files necessary for a product.
  • buildDirectory:  the directory the build will take place in.  Set this to the full path of the build directory created previously.
  • configs: list the configurations for which you want your product to be built. You can uncomment the configuration(s) provided (be careful of the line continuations).
  • archivePrefix: the name of the directory of your product once installed on disk.

Overview of the directory structure

<buildDirectory>/
plugins/
pluginToBuildA
pluginToBuildB
myProduct.product
...
features/
featureToBuild
...

<buildConfiguration>/
build.properties

<baseLocation>
plugins/
org.eclipse.core.runtime
org.eclipse.ui
...
features/
org.eclipse.rcp
org.eclipse.platform.launchers
...

Running the build

To run the build you will use the org.elipse.ant.core.antRunner application. When invoking eclipse with this application to perform a build you need to set two arguments on the command line:
  • -buildfile </path/to/productBuild.xml>:  This is the path to the productBuild.xml provided by pde build.  It is located in the org.eclipse.pde.build/scripts/productBuild directory.  This is the build file that drives the whole product build process.
  • -Dbuilder=</path/to/configuration folder>:  This is the path to the build configuration folder.
Run the antRunner application using the following command:
java -jar <eclipseInstall>/plugins/org.eclipse.equinox.launcher_<version>.jar -application org.eclipse.ant.core.antRunner -buildfile <<eclipseInstall>/plugins/org.eclipse.pde.build_<version>/scripts/productBuild/productBuild.xml> -Dbuilder=<path to the build configuration folder>

Advanced scenarios

Behind the scenes this setup will generate a feature containing the plugins or features specified in your product configuration file.  This generated feature is then used to drive a normal feature based headless build. If you require more customization of the build, ie fetching from a repository, see the Advanced PDE Build topics for more information.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire