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.
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:
/<plug-in or feature id>/path/to/.product"
-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.
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>
Behind the scenes this setup will generate a feature containing the plug-ins 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, i.e. fetching from a repository, see the Advanced PDE Build topics for more information.