<executeProduct>

Scope: PDE projects

Description

The executeProduct task allows you to iterate over all plug-ins and features specified within a product file. This build process is probably the most comfortable way to build an eclipse release since you only need to supply a product description.

Arguments

The executeProduct task provides the following arguments:

Argument Description Required
workspaceDirectory Absolute path of the workspace directory Either 'workspaceDirectory' or 'workspaceId' has to be specified
workspaceId The identifier of a defined workspace (see <workspaceDefinition>) Either 'workspaceDirectory' or 'workspaceId' has to be specified
product The path of the product description file as exported by Eclipse yes
os The operating system used for the build. Must be one of the following values: win32,macosx,solaris,linux yes
targetPlatformId The Id of a previously declared target platform. yes

Nested Elements

To iterate over source or output folders specified in a project, you can define one or more nested elements. Those elements can contain several task calls, similar to a target element. The following elements are defined:

  • forProduct: executes for a product
  • forEachFeature: executes for each feature
  • forEachPlugin: executes for each plugin

Scoped Properties

Several properties and references are "passed in", so you can access them within these scoped elements. Following scoped properties are available:

Property Availability Description
<prefix>.product.id all elements The id of the product (e.g. myapp.product).
<prefix>.product.name all elements The name of the product (e.g. ultimate application).
<prefix>.product.basedonfeatures all elements A boolean value indicating whether the product is based on features or not.
<prefix>.product.applicationid all elements The id of the application which is established by the build.
<prefix>.product.launchername all elements The name which has been configured for the launcher.
<prefix>.product.version all elements The version information of the product. Will be 0.0.0 if none has been configured.
<prefix>.product.vmargs all elements The vm arguments selected for the build. Empty if none are provided.
<prefix>.product.programargs all elements The program arguments selected for the build. Empty if none are provided.
<prefix>.product.configini all elements The path of the config.ini file which has to be used for the product. Empty when none has been specified. The file may not exist !
<prefix>.product.guiexe all elements The path to the executable used to launch the gui of the eclipse rcp.
<prefix>.product.cmdexe all elements The path to the executable used to launch the commandline of the eclipse rcp.
<prefix>.feature.id forEachFeature The id of the feature currently iterated.
<prefix>.feature.version forEachFeature The version of the feature currently iterated.
<prefix>.plugin.id forEachPlugin The id of the plugin currently iterated.
<prefix>.plugin.isSource forEachPlugin A boolean value indicating whether the plugin is part of the workspace (is source) or not.

Example usage

The following example shows the usage of the executeProduct task:

<ant4eclipse:executeProduct 
  workspaceDirectory="${workspaceDirectory}"
  product="my.product" 
  os="win32"
  targetPlatformId="K:/my-platform"
>
 
  <!-- execute once for the product -->
  <ant4eclipse:forProduct>
    ...
  </ant4eclipse:forProduct>
 
  <!-- execute for each included feature -->
  <ant4eclipse:forEachFeature>
    ...
  </ant4eclipse:forEachFeature>
 
  <!-- execute for each included plugin -->
  <ant4eclipse:forEachPlugin>
    ...
  </ant4eclipse:forEachPlugin>
 
</ant4eclipse:executeProduct>